All the talk in the build-up to this game was over Paolo Maldini, who was playing the final match of his legendary one-club career. However, there was still a lot to play for, as Fiorentina could snatch the third automatic Champions League position by beating the Rossoneri by two clear goals.
It was also rumoured that this could also be the last match of Carlo Ancelotti's Milan career, with the coach possibly set to take over at Chelsea. Ancelotti was without the injured Borriello, Bonera, Kaladze, Abbiati, Cardacio and Viudez, while Ambrosini was suspended. Alessandro Nesta made the bench, having not played at all this season.
Fiorentina were minus the injured Santana, Mutu, Bonazzoli, and Almiron, as well as the suspended Felipe Melo and Dainelli.
Milan threatened first as Marek Jankulovski twice went close to opening the scoring with efforts from the edge of the area.
Yet Fiorentina created the first golden chance on nine minutes, as Franco Semioli headed wide unmarked from eight yards following Manuel Pasqual's cross.
It was an open and entertaining game, but Milan were characteristically looking suspect on crosses. Alessandro Gamberini headed straight at Dida, while Alberto Gilardino nodded wide from a good position.
Mathieu Flamini was back in his favoured midfield position, and he was desperately close to breaking the deadlock on 24 minutes as his thunderous 30-yard drive crashed off the bar.
Sebastien Frey beat away a Gianluca Zambrotta effort, while down the end the referee waved away penalty appeals during a coming together between Gilardino and Giuseppe Favalli.
Fiorentina started the second half strongly, and Gilardino perhaps should have scored as he stabbed just wide from 12 yards.
Kaka wasted a good opening on 51 minutes with Inzaghi completely free in the middle.
However, shortly after Milan were ahead thanks to Kaka. Zambrotta's cross from the right was cut out by Gamberini but right into the path of Kaka, who buried his finish.
It could have been 2-0 just past the hour mark as Inzaghi wriggled past three defenders but fired over with just Frey to beat.
Alexandre Pato replaced Inzaghi, and squandered a fine opportunity himself, scuffing wide on Beckham's cut-back.
Seconds later Pato made no mistake, as he raced through on Kaka's through-pass, and delicately lifted the ball over the diving Frey.
Alessandro Nesta made his long awaited return after a year out of the game, replacing Favalli for his first appearance of the season.
In injury time, Paolo Maldini was substituted, and the whole stadium came to a standstill to salute the retiring hero. Each and every player from the two teams applauded, hugged and embraced the 40-year-old, while the crowd offered a standing ovation as he ended an unrivalled 25-year career.
Milan secured third place, but this day was Paolo Maldini's.
Please click here for full match stats