Biografia Nato in Abruzzo da una famiglia di origine siciliana, è figlio di Francesco Oddo, ex calciatore e successivamente allenatore, e nipote di Giovanni Oddo, campione italiano universitario di salto triplo (Littore d'Italia) nel 1934 e nel 1937.

Nel 2010, in qualità di portavoce dell'Associazione Italiana Calciatori, ha condotto le trattative tra i calciatori e la Lega Serie A sul rinnovo del contratto collettivo. L'anno seguente si laurea all'Università degli Studi di Teramo in scienze giuridiche, economiche e manageriali.

Caratteristiche tecniche Giocatore Il suo ruolo naturale era quello di terzino destro, ma all'occorrenza poteva essere impiegato anche come difensore centrale. Abile rigorista (24 segnati su 27 calciati, alla media realizzativa di 88,9%), era dotato nei calci da fermo.

Carriera Giocatore Club Gli inizi Inizia a giocare nelle giovanili della Renato Curi, con cui ha vinto il Campionato Allievi Dilettanti. Dopo aver disputato anche 3 partite con la prima squadra nel Campionato Nazionale Dilettanti 1992-1993, nel 1993, a 17 anni, è passato nelle giovanili del Milan.

Nel 1995, dopo due anni nella Primavera rossonera, il Milan lo ha ceduto in prestito al , in Serie C1, dove Oddo ha esordito tra i professionisti. Negli anni successivi ha giocato, sempre in prestito e sempre nella stessa serie, nel , nel 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.

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. L'anno successivo è stato acquistato in comproprietà dal Napoli, 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 . Nella prima stagione in Serie A Oddo ha totalizzato 32 presenze e segnato 4 gol, tutti su rigore.

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: il 19 febbraio 2002 in Coppa UEFA contro lo Skoda Xanthi e il 13 agosto 2003 in Champions League contro il Benfica.

Con la Lazio Oddo ha vinto una Coppa Italia nel 2003-2004 e nel 2006, dopo la cessione di Fabio Liverani, è diventato capitano della squadra biancoceleste.

Milan 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, che vestiva già la maglia biancoceleste.

Ha esordito con la maglia rossonera il 28 gennaio 2007 in Milan- 1-0 e ha segnato il suo primo gol con la nuova squadra in Milan-Chievo 3-1 del 3 marzo seguente. Al termine della stagione ha vinto la UEFA Champions League, nella cui finale, ad Atene contro il , ha giocato come titolare.

Bayern Monaco Nell'agosto 2008 è passato in prestito con diritto di riscatto alla squadra tedesca del Bayern Monaco, dove già militava il suo compagno di nazionale, Luca Toni. 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, che è quindi rientrato al Milan alla scadenza del prestito.

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. 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.

Il 6 agosto 2011 il Milan vince la Supercoppa italiana nel derby contro l' (2-1), ma Oddo non prende parte alla sfida.

Lecce

Il 31 agosto 2011 è passato in prestito al Lecce. Il 23 ottobre 2011 ha segnato il suo primo gol con la maglia dei salentini, realizzando un calcio di rigore contro il . In totale con il Lecce ha disputato 27 partite e segnato un gol.

Il 6 giugno 2012 ha annunciato il ritiro dal calcio giocato.

Nazionale Nell'agosto 1997 Oddo ha fatto parte della selezione universitaria italiana che in Sicilia ha vinto il torneo di calcio della XIX Universiade.

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.

È 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.

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.

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 e a dicembre inizia a frequentare il corso di abilitazione per il master di allenatori professionisti Prima Categoria-UEFA Pro.

Il 16 agosto 2013 è stato ufficializzato il suo ingaggio da parte del Genoa come tecnico della squadra degli Allievi Regionali B rossoblù.

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, Il Centro, 15 maggio 2015, 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 scavalcando in classifica i labronici e l', sconfitto in casa del già retrocesso Brescia, portando il Pescara ai play-off. Successivamente vince lo scontro preliminare dei play-off in gara secca a Perugia per 2-1 e la sfida di andata e ritorno di semifinale contro il Vicenza (1-0 all'Adriatico e 2-2 al Menti) ma in finale il Bologna, dopo due pareggi per 0-0 e 1-1, ha la meglio per il miglior piazzamento in classifica.

Il 30 gennaio 2016, contro il , eguaglia il record di vittorie del Pescara di Zeman in Serie B con 7 vittorie consecutive. Il 9 giugno 2016, dopo aver battuto ai play-off in semifinale e il in finale, ottiene la promozione in Serie A. 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.

Udinese e Crotone Il 21 novembre 2017 subentra sulla panchina dell' al posto dell'esonerato Luigi Delneri. Al debutto perde con il per 0-1, mentre la prima vittoria arriva il 30 novembre in Coppa Italia contro il per 8-3. Terminato il mese di dicembre con 5 vittorie consecutive sport.sky.it gazzetta.it, 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). tuttomercatoweb.com 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.

Il 29 ottobre 2018 è nominato nuovo allenatore del , in Serie B, al posto dell'esonerato Giovanni Stroppa. Solo per la partita valida per la decima giornata contro il va in panchina il tecnico della Primavera Ivan Moschella. Il 4 novembre, al debutto, pareggia per 1-1 contro il . Il 28 dicembre, dopo la sconfitta per 0-3 contro lo , si dimette avendo collezionato 2 pareggi e 6 sconfitte compresa quella in Coppa Italia contro il (15 gol subiti e 2 fatti).

Perugia, ritorno a Pescara e Padova Il 7 giugno 2019 è ingaggiato dal , in Serie B. 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 e ; 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. Viene richiamato a Perugia il successivo 19 luglio, in sostituzione dell'esonerato Serse Cosmi, con la squadra nel frattempo scivolata in zona play-out: costretto a disputare gli spareggi contro la sua ex squadra del , non riesce a salvare dalla Serie C la compagine umbra che perde il doppio confronto ai tiri di rigore. A stagione conclusa, il 19 agosto 2020 risolve consensualmente il contratto con la società biancorossa.

Appena dieci giorni dopo, e a tre anni di distanza dalla sua precedente esperienza abruzzese, Oddo si accorda proprio con il Pescara: una decisione che, per via della tempistica e di addotte ragioni di opportunità, provoca non pochi malumori presso la piazza perugina. 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.

Dopo un periodo d'inattività, il 24 febbraio 2022 torna ad allenare poiché chiamato dal , in Serie C, in sostituzione dell'esonerato Massimo Pavanel, con la squadra in quel momento al secondo posto della classifica. Debutta sulla panchina patavina tre giorni dopo, con un successo 2-1 sulla . Il 6 aprile vince la Coppa Italia Serie C, battendo 1-0 il nella decisiva finale di ritorno giocata a Bolzano: 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 . Lascia il club al termine della stagione, tornando a fare l'opinionista per Prime Video.

SPAL, ritorno al Padova, Milan Futuro 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. Debutta sulla panchina spallina quattro giorni dopo, nel pareggio casalingo contro il (1-1), mentre la prima vittoria arriva al quarto tentativo, il 5 marzo in casa contro il per 2-1. 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 .

L'8 aprile 2024 viene ufficializzato il suo ritorno sulla panchina del , nel campionato in Serie C, per le restanti tre gare della stagione regolare; subentra a Vincenzo Torrente, con la squadra al secondo posto e già certa della qualificazione ai play-off. Oddo ottiene due vittorie e un pareggio, mantenendo il piazzamento finale in classifica: nei successivi play-off la squadra veneta si ferma al secondo turno, venendo eliminata dal .

Il 25 febbraio 2025 subentra all'esonerato Daniele Bonera sulla panchina del , in quel momento in zona play-out nel proprio girone di Serie C. Debutta alla guida della seconda squadra rossonera il successivo 2 marzo, nella sconfitta esterna per 2-1 contro il , mentre la prima vittoria arriva a fine mese, un 3-2 contro il . Conduce la squadra al quart'ultimo posto, non riuscendo a evitare la retrocessione in Serie D dopo la sconfitta ai play-out contro la . Nella stagione seguente, tra i dilettanti, la squadra di Oddo si piazza quarta nel proprio girone: ottiene l'accesso ai play-off ma non riesce a tornare tra i professionisti, perdendo la semifinale contro il . Il 30 giugno 2026 lascia il club dopo aver messo insieme 50 panchine, con un bilancio di 22 vittorie, 11 pareggi e 17 sconfitte.

Dopo il ritiro