Milan set up a repeat of the memorable 2005 Champions League final after overwhelming Manchester United at the San Siro.
Milan started the semi-final 3-2 down but were ahead on away goals after just 11 minutes when Kaka’s left-footed drive from the edge of the penalty area found the the corner of the United net.
Seedorf, who had laid on the opener, took advantage of some terrible defending by United to volley in a second after half an hour.
And late in the game substitute Alberto Gilardino broke free to secure an easy win as United imploded on the night.
The result ended United’s dreams of repeating their 1999 Treble, but there will be few complaints on an evening which saw them outplayed by their Italian opponents.
Sir Alex Ferguson sprung a surprise by naming Nemanja Vidic in his starting line-up after the defender’s recovery from a broken collarbone but he along with his team-mates had no answer Milan’s one-touch play on the night.
The hosts came close after three minutes when Seedorf forced Edwin van der Sar to make a spectacular finger tip save and again on seven minutes when Kaka fired straight at the United keeper.
Milan didn’t have to wait long to open the scoring, with Seedorf nodding the ball down for Kaka to hammer home with his left foot for his tenth Champions League goal of the current campaign.
The second goal came from a defensive mix-up involving Vidic and Gabriel Heinze’s which gifted possession to Seedorf, who reacted quickly to volley past van der Saar.
United enjoyed more possession in the second half but rarely looked like scoring and Dida in the Milan goal enjoyed what must have been one of his quietest nights on the European stage.
And Milan booked a repeat of the 2005 final against Liverpool when Gilardino was set through on the United goal before passing the ball into the United net. It was the least Carlo Ancelotti’s side deserved after an impressive performance.