Nato a Pescara[1] da famiglia siciliana[2], è figlio di Francesco Oddo, ex calciatore e successivamente allenatore,[3] e nipote di Giovanni Oddo, campione italiano universitario di salto triplo (Littore d'Italia) nel 1934 e nel 1937.
Il suo ruolo naturale era quello di terzino destro, ma all'occorrenza poteva essere impiegato anche come difensore centrale.[6][7] Abile rigorista (24 segnati su 27 calciati, alla media realizzativa di 88,9%), era dotato nei calci da fermo.[8][9]
Nel 1995, dopo due anni nella Primavera rossonera, il Milan lo ha ceduto in prestito al Fiorenzuola, in Serie C1, dove Oddo ha esordito tra i professionisti. Negli anni successivi ha giocato, sempre in prestito e sempre nella stessa serie, nel Monza, nel Prato e infine nel Lecco, dove l'allenatore Adriano Cadregari lo ha schierato come difensore centrale e con cui ha segnato la prima rete in carriera.[3]
Nel 1998 è tornato nuovamente in prestito al Monza, con cui ha esordito in Serie B, collezionando 30 presenze e segnando 4 gol, tutti su punizione.[3] L'anno successivo è stato acquistato in comproprietà dal Napoli,[3] con cui Oddo ha disputato il campionato di Serie B 1999-2000 (36 presenze e un gol) ottenendo la promozione in Serie A.
Verona
Nell'estate 2000 Oddo si è trasferito a titolo definitivo al Verona, con cui ha esordito in Serie A il successivo 30 settembre contro il Bari.[10] Nella prima stagione in Serie A Oddo ha totalizzato 32 presenze e segnato 4 gol, tutti su rigore.[3]
Lazio
Nel 2002, dopo la retrocessione in Serie B del Verona, Oddo è stato acquistato dalla Lazio. Nella capitale è rimasto per 4 anni e mezzo disputando 172 partite nelle quali ha realizzato 17 gol ed esordendo nelle competizioni UEFA per club:[3] il 19 febbraio 2002 in Coppa UEFA contro lo Skoda Xanthi[11] e il 13 agosto 2003 in Champions League contro il Benfica.
Nel gennaio 2007 è stato acquistato dal Milan in cambio di 7 milioni e 750 000 euro e della cessione a titolo definitivo alla Lazio del cartellino di Pasquale Foggia,[13] che vestiva già la maglia biancoceleste.[14]
Ha esordito con la maglia rossonera il 28 gennaio 2007 in Milan-Parma 1-0[15] e ha segnato il suo primo gol con la nuova squadra in Milan-Chievo 3-1 del 3 marzo seguente.[16] Al termine della stagione ha vinto la UEFA Champions League, nella cui finale, ad Atene contro il Liverpool, ha giocato come titolare.[17]
Bayern Monaco
Nell'agosto 2008 è passato in prestito con diritto di riscatto alla squadra tedesca del Bayern Monaco,[18] dove già militava il suo compagno di nazionale, Luca Toni.[19] Nel maggio 2009, dopo una stagione nella quale il difensore italiano ha collezionato 26 presenze, il Bayern Monaco ha deciso di non riscattare il cartellino del giocatore,[20][21] che è quindi rientrato al Milan alla scadenza del prestito.[22]
Ritorno al Milan
Il 26 gennaio 2011, in occasione dei quarti di finale di Coppa Italia contro la Sampdoria, ha indossato per la prima volta la fascia di capitano del Milan.[23][24] Il 7 maggio 2011 ha vinto lo scudetto con i rossoneri a due giornate dal termine del campionato grazie allo 0-0 contro la Roma.[25]
Il 6 agosto 2011 il Milan vince la Supercoppa italiana nel derby contro l'Inter (2-1),[26] ma Oddo non prende parte alla sfida.[27]
Lecce
Il 31 agosto 2011 è passato in prestito al Lecce.[28] Il 23 ottobre 2011 ha segnato il suo primo gol con la maglia dei salentini, realizzando un calcio di rigore contro il Milan.[29] In totale con il Lecce ha disputato 27 partite e segnato un gol.
Il 6 giugno 2012 ha annunciato il ritiro dal calcio giocato.[30]
Nazionale
Nell'agosto 1997 Oddo ha fatto parte della selezione universitaria italiana che in Sicilia ha vinto il torneo di calcio della XIX Universiade.[31]
Oddo ha esordito in nazionale maggiore il 21 agosto 2002, a 26 anni, nella partita amichevole Italia-Slovenia (0-1), subentrando all'inizio del secondo tempo a Matteo Brighi.[31]
È stato convocato prima da Trapattoni, per l'Europeo 2004 e dopo anche da Lippi per il Mondiale 2006. Nella competizione vinta dagli Azzurri ha collezionato una presenza contro l'Ucraina nei quarti di finale.[31]
Ha segnato su calcio di rigore all'Olimpico di Roma il suo primo e unico gol in nazionale, nel 2-0 contro l'Ucraina, il 7 ottobre 2006.[31]
Dopo il Mondiale, nella fase iniziale della gestione di Donadoni, Oddo è diventato il terzino destro titolare, ma dopo la stagione 2007-2008 non è stato più preso in considerazione. Ha giocato la sua 34ª e ultima partita in nazionale il 6 febbraio 2008 contro il Portogallo.
Allenatore
Gli inizi
Nel novembre del 2012 consegue la qualifica da direttore sportivo a Coverciano[32] e a dicembre inizia a frequentare il corso di abilitazione per il master di allenatori professionisti Prima Categoria-UEFA Pro.[33]
Il 16 agosto 2013 è stato ufficializzato il suo ingaggio da parte del Genoa come tecnico della squadra degli Allievi Regionali B rossoblù.[34]
Pescara
Il 28 luglio 2014 assume l'incarico di allenatore della squadra Primavera del Pescara.
Il 16 maggio 2015, a una sola giornata dal termine del campionato di Serie B, subentra all'esonerato Marco Baroni assumendo la guida tecnica della prima squadra[35], panchina che fu anche del padre Francesco dal 1994 al 1996, primo caso nella storia del calcio professionistico italiano in cui padre e figlio abbiano allenato la stessa squadra. Il 22 maggio vince lo scontro diretto contro il Livorno scavalcando in classifica i labronici e l'Avellino, sconfitto in casa del già retrocesso Brescia, portando il Pescara ai play-off.[36] Successivamente vince lo scontro preliminare dei play-off in gara secca a Perugia per 2-1[37] e la sfida di andata e ritorno di semifinale contro il Vicenza (1-0 all'Adriatico e 2-2 al Menti)[38][39] ma in finale il Bologna, dopo due pareggi per 0-0 e 1-1, ha la meglio per il miglior piazzamento in classifica.[40][41]
Il 30 gennaio 2016, contro il Bari, eguaglia il record di vittorie del Pescara di Zeman in Serie B con 7 vittorie consecutive.[42] Il 9 giugno 2016, dopo aver battuto ai play-off Novara in semifinale e il Trapani in finale, ottiene la promozione in Serie A.[43] Il 14 febbraio 2017, dopo la 24ª giornata, viene esonerato dalla carica di allenatore del Pescara, con la squadra all'ultimo posto in classifica e senza alcuna vittoria conseguita sul campo.[44]
Udinese e Crotone
Il 21 novembre 2017 subentra sulla panchina dell'Udinese al posto dell'esonerato Luigi Delneri.[45] Al debutto perde con il Napoli per 0-1,[46] mentre la prima vittoria arriva il 30 novembre in Coppa Italia contro il Perugia per 8-3.[47] Terminato il mese di dicembre con 5 vittorie consecutive[48][49], nei mesi successivi le cose peggiorano e tra febbraio e aprile colleziona 11 sconfitte di fila, stabilendo così un nuovo primato negativo per la società friulana (quello precedente era di 7).[50][51][52] Il 24 aprile 2018 viene esonerato, anche a causa del forte rischio retrocessione a sole quattro giornate dal termine del campionato. Sarà poi sostituito da Igor Tudor.[53]
Il 29 ottobre 2018 è nominato nuovo allenatore del Crotone, in Serie B, al posto dell'esonerato Giovanni Stroppa. Solo per la partita valida per la decima giornata contro il Lecce va in panchina il tecnico della Primavera Ivan Moschella.[54] Il 4 novembre, al debutto, pareggia per 1-1 contro il Carpi.[55] Il 28 dicembre, dopo la sconfitta per 0-3 contro lo Spezia, si dimette avendo collezionato 2 pareggi e 6 sconfitte compresa quella in Coppa Italia contro il Bologna (15 gol subiti e 2 fatti).[56]
Perugia, ritorno a Pescara e Padova
Il 7 giugno 2019 è ingaggiato dal Perugia, in Serie B.[57] Con gli umbri è autore di un buon cammino in Coppa Italia, dove raggiunge gli ottavi di finale dopo avere superato formazioni di categoria superiore quali Brescia e Sassuolo;[58] tuttavia le altalenanti prestazioni raccolte in campionato lo portano a essere sollevato dall'incarico, pur con la squadra in zona play-off, il 4 gennaio 2020.[59] Viene richiamato a Perugia il successivo 19 luglio, in sostituzione dell'esonerato Serse Cosmi, con la squadra nel frattempo scivolata in zona play-out:[60] costretto a disputare gli spareggi contro la sua ex squadra del Pescara, non riesce a salvare dalla Serie C la compagine umbra che perde il doppio confronto ai tiri di rigore.[61] A stagione conclusa, il 19 agosto 2020 risolve consensualmente il contratto con la società biancorossa.[62]
Appena dieci giorni dopo, e a tre anni di distanza dalla sua precedente esperienza abruzzese, Oddo si accorda proprio con il Pescara:[63] una decisione che, per via della tempistica e di addotte ragioni di opportunità, provoca non pochi malumori presso la piazza perugina.[64][65][66] La sua seconda prova sulla panchina biancazzurra si rivela però breve e negativa tanto che, con la squadra relegata sul fondo della classifica, il 29 novembre 2020 viene sollevato dall'incarico.[67]
Dopo un periodo d'inattività, trascorso come opinionista sportivo per Sport Mediaset[68] e Amazon Prime Video,[69] il 24 febbraio 2022 torna ad allenare poiché chiamato dal Padova, in Serie C, in sostituzione dell'esonerato Massimo Pavanel, con la squadra in quel momento al secondo posto della classifica.[70] Debutta sulla panchina patavina tre giorni dopo, con un successo 2-1 sulla Pro Sesto.[71] Il 6 aprile vince la Coppa Italia Serie C, battendo 1-0 il Südtirol nella decisiva finale di ritorno giocata a Bolzano:[72] conquista così il suo primo trofeo da allenatore. Dopo aver chiuso la stagione regolare al secondo posto nel proprio girone, alle spalle dei succitati bolzanini, nei play-off guida i biancoscudati fino alla finale per la promozione, persa nella doppia sfida contro il Palermo.[73] Lascia il club al termine della stagione,[74] tornando a fare l'opinionista per Prime Video.[75]
SPAL, ritorno al Padova
Il 14 febbraio 2023 viene ingaggiato dalla SPAL, militante in Serie B, in sostituzione dell'esonerato Daniele De Rossi, con la squadra al terz'ultimo posto in classifica.[76] Debutta sulla panchina spallina quattro giorni dopo, nel pareggio casalingo contro il Como (1-1),[77] mentre la prima vittoria arriva al quarto tentativo, il 5 marzo in casa contro il Cittadella per 2-1.[78] Ciò nonostante, nel prosieguo del campionato non riesce a invertire il trend negativo della squadra che, penultima in classifica, retrocede a una giornata dal termine dopo la sconfitta per 0-1 contro il Parma.[79]
Per la stagione 2023-2024, vista l’inattività, inizialmente torna a fare l'opinionista delle gare di UEFA Champions League per Prime Video.[80] L'8 aprile 2024 viene ufficializzato il suo ritorno sulla panchina del Padova, militante in Serie C, per le restanti tre gare di campionato e dei successivi play-off, subentrando a Vincenzo Torrente, con la squadra al secondo posto.[81] Oddo ottiene due vittorie e un pareggio ma la posizione in classifica non cambia: ai play-off la squadra veneta si ferma al secondo turno, venendo eliminata dal L.R. Vicenza.[82]
^Serie A, ecco tutti i cecchini, su sportmediaset.mediaset.it, 6 settembre 2011. URL consultato il 12 gennaio 2012 (archiviato dall'url originale il 18 gennaio 2012).
^Oddo: "Capitano per una notte", su milantime.acmilan.com, 27 gennaio 2011. URL consultato il 27 gennaio 2011 (archiviato dall'url originale il 30 gennaio 2011).
^abcdLa nazionale, su massimooddo.com. URL consultato il 12 febbraio 2012 (archiviato dall'url originale il 15 gennaio 2012; seconda copia archiviata il 15 gennaio 2012).