Oddo started his career at Renato Curi Angolana of Serie D, and moved to A.C. Milan youth team in 1993.
After spending two years on the bench, in hope of more playing opportunities he moved to Serie C team Fiorenzuola on loan.
It was followed by other three Serie C groups (Monza, Prato, Lecco).
He returned to promoted Serie B team Monza in 1998, and left a year later for Napoli (in a co-ownership deal).
He helped Napoli win promotion to Serie A after a successful 1999–2000 Serie B and joined Hellas Verona that summer.
While at Verona, Oddo completed his obligatory military service.
He would spend Monday through Thursday at the military barracks and then on Fridays would join up with his teammates for training.

After two successful seasons with Verona, Italian giants S.S. Lazio purchased him.
At Lazio he had the opportunity to play in the UEFA Champions league in the season 2003–04 and the UEFA Cup competition in the seasons 2002–03 and 2004–05.
The team made it to the semi finals in 2003.
Moreover, his third season with Lazio earned him the Coppa Italia winner title.
He became the captain of Lazio for the first half of the 2006–07 season following the departure of Fabio Liverani to Fiorentina.

On 23 January 2007, it was announced that Milan and Lazio had reached an accord for Oddo's transfer to the Rossoneri, after a long period of negotiation.
The overall price was €10.75 million (cash plus Pasquale Foggia, who had been on loan at the club since the start of the season) and Oddo waived some of his wage, made the deal worth €12 million in total.
He signed a contract until 30 June 2011.
Months later, Oddo was the starting right back in the 2007 UEFA Champions League Final and helped Milan gain their seventh European Cup in a 2–1 win over Liverpool, as well as the club's fifth UEFA Super Cup in August when they had to face 2007 UEFA Cup winners, Sevilla.

With the arrival of Gianluca Zambrotta, Oddo had to compete with Zambrotta on the right back position.
On 28 August 2008, Oddo moved to Bayern Munich on a one-year loan with the option of making the move permanent, however, at the end of the 2008–09 season, the German club confirmed that it would not take that option, and he has since returned to Milan, with Zambrotta moved to left back and Oddo competed with Ignazio Abate for the right back position.

On 21 July 2010, he extended his contract to last until 30 June 2012.
A day after, Zambrotta also signed a new deal.

After being mostly frozen out of the Milan squad during the starting part of the 2010–11 season, he made his season debut against former club Napoli after an early first half head injury to left back Luca Antonini, furthermore he provided two assists, one to Robinho for the opening goal and another for Zlatan Ibrahimović.

On 31 August 2011, Oddo joined Lecce on a season-long loan.

Following the 2011–12 season, Oddo put an end to his career saying "I leave football.
When you reach a certain age, you face a crossroad."
Oddo started his career at Renato Curi Angolana of Serie D, and moved to A.C. Milan youth team in 1993. After spending two years on the bench, in hope of more playing opportunities he moved to Serie C team Fiorenzuola on loan. It was followed by other three Serie C groups (Monza, Prato, Lecco). He returned to promoted Serie B team Monza in 1998, and left a year later for Napoli (in a co-ownership deal). He helped Napoli win promotion to Serie A after a successful 1999–2000 Serie B and joined Hellas Verona that summer. While at Verona, Oddo completed his obligatory military service. He would spend Monday through Thursday at the military barracks and then on Fridays would join up with his teammates for training.
After two successful seasons with Verona, Italian giants S.S. Lazio purchased him. At Lazio he had the opportunity to play in the UEFA Champions league in the season 2003–04 and the UEFA Cup competition in the seasons 2002–03 and 2004–05. The team made it to the semi finals in 2003. Moreover, his third season with Lazio earned him the Coppa Italia winner title. He became the captain of Lazio for the first half of the 2006–07 season following the departure of Fabio Liverani to Fiorentina.
On 23 January 2007, it was announced that Milan and Lazio had reached an accord for Oddo's transfer to the Rossoneri, after a long period of negotiation. The overall price was €10.75 million (cash plus Pasquale Foggia, who had been on loan at the club since the start of the season) and Oddo waived some of his wage, made the deal worth €12 million in total. He signed a contract until 30 June 2011. Months later, Oddo was the starting right back in the 2007 UEFA Champions League Final and helped Milan gain their seventh European Cup in a 2–1 win over Liverpool, as well as the club's fifth UEFA Super Cup in August when they had to face 2007 UEFA Cup winners, Sevilla.
With the arrival of Gianluca Zambrotta, Oddo had to compete with Zambrotta on the right back position. On 28 August 2008, Oddo moved to Bayern Munich on a one-year loan with the option of making the move permanent, however, at the end of the 2008–09 season, the German club confirmed that it would not take that option, and he has since returned to Milan, with Zambrotta moved to left back and Oddo competed with Ignazio Abate for the right back position.
On 21 July 2010, he extended his contract to last until 30 June 2012. A day after, Zambrotta also signed a new deal.
After being mostly frozen out of the Milan squad during the starting part of the 2010–11 season, he made his season debut against former club Napoli after an early first half head injury to left back Luca Antonini, furthermore he provided two assists, one to Robinho for the opening goal and another for Zlatan Ibrahimović.
On 31 August 2011, Oddo joined Lecce on a season-long loan.
Following the 2011–12 season, Oddo put an end to his career saying "I leave football. When you reach a certain age, you face a crossroad."
Massimo Oddo