Vavassori started his playing career with Atalanta, where he made his Serie A debut in the 1971-72 season. From 1972 he played five consecutive Serie A seasons with Napoli, before to return to Atalanta in 1977. He left Atalanta in 1982 to join Cagliari, and successively retired one year later. He also made five appearances for the Italian youth national team.
Vavassori started his coaching career in 1990 as Atalanta youth team boss. During his stay with the club he won several tournaments and trophies, including a Primavera national title and a Torneo di Viareggio in 1993. In 1999 he was called to coach Atalanta's first team, and promptly led the team into Serie A. In his first Serie A season as head coach, Vavassori obtained an impressive seventh place at the helm of Atalanta, followed by a ninth place in the next season. However, in his fourth season as Atalanta boss he did not manage to keep his side away from the relegation battle, being sacked on April 21, 2003 in a desperate attempt by the club management to save the team from a Serie B falling.
In 2004, Vavassori was appointed head coach of Serie B team Ternana, but resigned two weeks later citing falling-out with his players.
In 2005, Vavassori was signed by Serie C1 club Genoa, with the goal to lead the grifone back to Serie B. He was however sacked later and replaced by Attilio Perotti, and then reappointed at Perotti's place; after ending the regular season in second place, Genoa then won the promotion playoffs under Vavassori and achieved promotion to Serie B.
On April 18, 2007 Giovanni Vavassori was appointed at the helm of U.S. Avellino, another Serie C1 club, to fill the position left vacant by the sacking of Giuseppe Galderisi. In his tenure at Avellino, Vavassori was not able to overtake first-placed Ravenna, ending the regular season with a second place; however, he was able to lead the biancoverdi to win the promotion playoff and achieve his second consecutive Serie B promotion. Originally confirmed as Avellino manager also for their 2007-08 Serie B campaign, Vavassori surprisingly tended his resignations on July 16, 2007. However, Vavassori found a Serie B job just a few months later, as he was appointed as Cesena boss on November 12, replacing Fabrizio Castori. On February 25, 2008, following a 0–3 home loss to AlbinoLeffe, Vavassori was dismissed from his role as Cesena's manager.
On May 2010 he was appointed at the helm of Verona to replace Gian Marco Remondina, who was sacked after he failed to guide his side to win direct promotion to Serie B following a shock 1–0 home loss to Portosummaga. Vavassori will serve as head coach for the promotions playoffs, with the aim to guide Verona back into the Italian second division. Vavassori eventually failed in winning the promotion playoff tournament, as his side was defeated by Pescara in the finals, and he was therefore not confirmed in charge of Verona.