Inter had lead 2-0 at the break thanks to goals from Dejan Stankovic and Cristiano Zanetti, but Danish substitute Jon Dahl Tomasson pulled one back for Milan in the 56th minute.
A minute later, the European champions were on level terms after a classy solo goal from Brazilian Kaka and the game looked to be heading for a draw until Dutchman Seedorf unleashed a spectacular shot from more than 25 metres that rocketed into the top corner.
The result leaves Milan on 55 points, now eight points clear of second-placed AS Roma, who play Siena at home on Sunday.
Third-placed Juventus, who have 46 points, are away to Bologna.
|
That prompted some pressure from Milan but again it was Inter who were the more dangerous close to goal, going close to a second when Brazilian Adriano struck the post in the 38th minute after good work from Javier Zanetti down the right flank.
Two minutes later, though, Inter doubled their lead when another Stankovic corner was cleared only as far as Zanetti, whose low drive from 25 metres took a deflection off Milan's Georgian defender Kakha Kaladze and beat a wrong-footed Dida.
ADDING FIREPOWER
Milan coach Carlo Ancelotti, who had begun with Andriy Shevchenko on his own attack, brought on Tomasson for midfielder Rui Costa at the break in a bid to provide more firepower.
That task could have been made hopeless had Adriano showed more composure just five minutes after the restart when he blasted over from a great position after Dida had slipped on the wet surface as he came out of goal.
Tomasson, however, was to re-open the game just six minutes later when he pulled one back for Milan, Toldo being unable to hold on to a shot from Seedorf and the Dane pouncing to slot in the loose ball.
Within a minute, Milan were on level terms when Kaka produced a superb solo goal, picking up possession on the halfway line, racing towards the Inter defence unchallenged and firing home a pinpoint shot from the edge of the area.
Milan, already without suspended captain Paolo Maldini, were forced to reorganise at the back with first Cafu and then Alessandro Nesta going off injured.
Their replacements Giuseppe Pancaro and Martin Laursen rose to the occasion, however, keeping it tight at the back as the game was poised to end in a draw that would not have been unfair on either side.
Not for the first time in his career, Seedorf produced a goal out of nothing to keep Milan's title bid on track.
In Saturday's other game, a mistake by goalkeeper Francesco Antonioli gifted Parma their first goal before they went on to win 2-1 at Sampdoria.
The match was deadlocked until the 59th minute when Parma striker Alberto Gilardino poked a weak shot towards goal and Antonioli bent to gather it, but the ball slipped between his legs and rolled into the net.
Parma striker Mark Bresciano added a second after 74 minutes before Sampdoria pulled a goal back through 20-year-old forward Antonio Floro Flores seven minutes from time.