Pippo Inzaghi struck twice for Milan as they gained revenge for their 2005 Champions League final defeat with victory over Liverpool in Athens.
Liverpool had clearly been the better side in the opening stages, with Jermaine Pennant prominent in the early exchanges and the winger came close to the opening the scoring when Kuyt pounced on a misplaced pass by Marek Jankulovski, he played in Pennant whose shot was parried away by Dida.
Pennant sprinted down the right flank moments later, this time latching onto a Gerrard pass, but his return ball to the Liverpool skipper was miscued and Milan cleared the danger.
Milan had their first chance through Kaka on 17 minutes – but Jose Reina held a firmly struck right-footed shot from the Brazilian.
At the other end John Arne Riise and Xabi Alonso saw long range efforts go wide, as the chances kept coming for an energetic Liverpool side.
Ten minutes before the break and saw Pennant find Gerrard, who prodded the ball towards Kuyt, but Massimo Oddo blocked his goal-bound strike.
Milan were being overrun by Liverpool at this stage, but a minute before half-time, Liverpool were made to pay for their missed chances as Milan took the lead.
Kaka won a free-kick on the edge of the area after being upended by Alonso. Pirlo stepped up and clipped the ball towards the far corner, but it struck Inzaghi on the shoulder and sailed past a despairing Reina.
The goal appeared to deflate Rafa Benitez’s men and they were unable to reproduce their free-flowing football after the interval.
They were highly fortunate that Kaka was flagged offside after being sent clear by Pirlo – as replays showed he was onside.
However, despite struggling to create any meaningful chances it was Liverpool who almost scored against the run of the play when Gattuso’s pass was intercepted by Gerrard. The normally reliable Liverpool skipper burst through on goal but finished tamely and the Brazilian keeper Dida saved easily.
With just over 10 minutes remaining, Benitez introduced the towering Peter Crouch as Liverpool pushed in search of an equaliser.
But before Crouch could make any sort of impact, Milan added a crucial second. The otherwise disappointing Kaka picked out Inzaghi’s run and the striker showed great composure to round Reina and place the ball into the empty net.
There was still time for Crouch to go close – his long range effort tipped over by Dida Liverpool gave themselves a glimmer of hope in the closing moments. A Pennant corner was flicked on by Agger and Kuyt was there to head home.
Suddenly thoughts of Istanbul were reawakened but it was not to be as Milan held on comfortably for the remaining minutes to secure a seventh European crown.
Milan: Dida, Oddo, Nesta, Maldini, Jankulovski (Kaladze 79), Gattuso, Pirlo, Ambrosini, Seedorf (Favalli 90), Kaka, Inzaghi (Gilardino 88).
Subs Not Used: Kalac, Cafu, Serginho, Brocchi.
Liverpool: Reina, Finnan (Arbeloa 88), Carragher, Agger, Riise, Pennant, Alonso, Mascherano (Crouch 78), Zenden (Kewell 59), Gerrard, Kuyt.
Subs Not Used: Dudek, Hyypia, Gonzalez, Bellamy.
Milan: Inzaghi 45, 82.
Liverpool: Kuyt 89.
Referee: Herbert Fandel (Germany).