Iniziò la carriera alla Carrarese nel 1954 in Serie C, provenendo dalle giovanili della Juventus.[5] Dopo una stagione con i toscani, tornò alla società bianconera con cui esordì in Serie A il 4 dicembre 1955 contro il Napoli.
In tre anni giocò soltanto nove partite di campionato, ma dal 1958, per due stagioni, venne schierato più di frequente, pur non diventando titolare fisso; indossò infatti la maglia di titolare solo nel 1960, dopo la vittoria del suo secondo titolo (in quello del 1958 non era mai sceso in campo), e dopo un lungo dualismo con Carlo Mattrel.
Bissato il successo (con la Juventus vince anche due Coppe Italia) nel 1961, nello stesso anno esordì anche in nazionale, il 24 maggio contro l'Inghilterra all'Olimpico di Roma, subentrando a 35 minuti dal termine, sul risultato di 1-1, a Lorenzo Buffon il quale aveva subìto la rottura del setto nasale.[6] Pur portandosi sul 2-1, l'Italia uscì dal campo battuta e Vavassori fu, suo malgrado, protagonista negativo dell'incontro:[6] subì il pareggio su un tiro innocuo di Hitchens che si lasciò clamorosamente passare sotto le gambe, e non risultò impeccabile neppure sulla rete del definitivo 2-3 di Greaves.[6] Proprio quegli errori, che negarono all'Italia la prima, storica vittoria sugli inglesi, gli preclusero la possibilità di indossare ancora la maglia della nazionale,[6] e convinsero la dirigenza juventina a cederlo per puntare sul più giovane Roberto Anzolin.
Trasferitosi al Catania di Carmelo Di Bella, vi rimase per cinque stagioni, tutte in massima categoria. Retrocesso in Serie B al termine del campionato 1965-66, pochi mesi dopo passò al Bologna, all'inizio della sua sesta stagione in Sicilia.
Giocò titolare nella formazione rossoblù fino al 1969, quindi una stagione da riserva, l'annata 1970-71 di nuovo da titolare, per poi chiudere con l'attività agonistica al termine della stagione 1971-72, nella quale collezionò le sue ultime 5 presenze in massima serie.
Intraprese quindi la carriera di allenatore, guidando soprattutto le squadre giovanili del club felsineo.