Milan agreed late Monday to pay Ђ7.75 million (US$10 million) for the 30-year-old, the club announced Tuesday.
Milan's 26-year-old midfielder Pasquale Foggia, who is already on loan at Lazio, will join the Rome club as part of the deal.
The ANSA news agency said Oddo was expected in Milan later Tuesday to sign the deal, but Milan declined to confirm the report.
Oddo, Lazio's former captain, was not selected for Sunday's 0-0 Serie A draw against Milan, raising speculation that the defender's widely anticipated transfer was imminent.
Lazio president Claudio Lotito said two weeks ago that Oddo wished to finish his career with Milan, having started in the Rossoneri's youth system.
Oddo, who was part of Italy's World Cup winning squad, joined Lazio from Verona in 2002, reports AP.
Milan is tied for ninth in Serie A with 24 points, three fewer than Lazio, which is tied for fifth. Both sides were docked points in the Italian match-fixing scandal.