Manchester - As so many had predicted there were no goals, but nobody could accuse AC Milan and Juventus of failing to serve up a drama worthy of a Champions League final at Old Trafford on Wednesday.
After 120 minutes of play, it fell to Ukrainian striker Andriy Shevchenko to convert Milan's fifth and final penalty and make Milan champions of Europe for the sixth time in their history.
Shevchenko's coolly executed spot-kick also ensured that Paolo Maldini was able to emulate his father by captaining the club to glory in club football's biggest tournament, 40 years after Cesare Maldini lifted the trophy at Wembley.
Juventus will rue the three missed penalties which handed Shevchenko his chance to inflict yet another heartbreaking final defeat.
The Turin giants, winners themselves on penalties in 1996, lost both the 1997 and 1998 finals.
But they could have few complaints after being dominated by a Milan side that took full advantage of the absence of their rivals' most important creative force, Pavel Nedved, through suspension.
AC Milan midfielder Clarence Seedorf broke down in tears after becoming the first player to win the Champions League with three different clubs.
"Incredible, I am so happy, I am really so happy," said the Dutchman.
He added: "I think Milan deserved to win, during the whole championship they did a great job. We were the better team.
"There's been a great atmosphere today, the fans were great."
Juventus defender Lilian Thuram praised Milan's Brazilian goalkeeper Dida for his performance in the nail-biting shootout.
"From the moment it went to penalties there was a strong chance we'd lose as Dida is very good on penalties," said Thuram.
"We knew it was going to be very difficult. We had the chance to win and I'm upset as it was a magnificent competition."
Despite the lack of goals, only the most churlish of critics would have condemned either of the two sides for failing to adopt a positive approach to what was an encounter of the highest technical quality, played at an exhilarating tempo.
Juventus may have spent much of the match pinned in their own half but it was Milan's superior attacking enterprise which stifled Marcello Lippi's side rather than any lack of ambition on their own part.
Milan's early dominance might have yielded a two goal lead from an opening 20 minutes in which the deft runs of Shevchenko and Rui Costa left the Juventus defence looking uncharacteristically ruffled.
Shevchenko thought he had given his side the lead in the ninth minute but his deflected shot, the end result of an opening generated by Rui Costa's surge to the edge of the area, was ruled offside.
Both Filippo Inzaghi and Rui Costa were standing beyond the advancing Juventus backline, although it was debatable whether the latter was sufficiently close to goalkeeper Gianluigi Buffon to be judged to be interfering with play.
A rare piece of carelessness from Juventus defender Paolo Montero gifted Milan a second clear chance.
The Uruguayan's pass across his own 18-yard line flew straight into the path of Shevchenko. The Ukrainian fed Clarence Seedorf, whose cross was met by a diving header from Inzaghi that produced a superb save from Buffon.
Juventus's only hint of menace in the early stages came from a Lilian Thuram cross that David Trezeguet headed marginally wide.
But gradually, prompted by the positive approach of Edgar Davids, Juventus started to find a way out of their own half.
As the half-hour mark approached a powerful run down the left from Gianluca Zambrotta created an opening for Alessandro Del Piero, who curled his side's first shot on goal high and wide from the edge of the area.
Milan hit back in virtually identical style, Andrea Pirlo escaping on the left before feeding an unmarked Rui Costa, who pulled his shot from the edge of the area inches wide of Buffon's upright.
At the other end, Mauro Camoranesi slipped Del Piero in behind the Milan back four but Dida was alert to the threat and was able to block the Juventus captain's shot from a tight angle.
Having been dominated for so long, Juventus seemed to sense a chance to take the lead in the dying minutes of the first half and the Milanese defence were grateful to scramble the ball to safety after a Del Piero overhead kick had generated panic in their midst.
It was Rui Costa however who had the last word of the opening act, unleasing a fierce drive that Buffon did well to smother at his near post.
Antonio Conte, a second half substitute for Mauro Camoranesi, made an instant impression by heading Del Piero's swirling cross on to the Milan crossbar.
Juventus's fear of the threat posed by Maldini at set pieces was underlined by Alessio Tacchinardi's attempts to disposses him of his shirt as the pair jostled for position in the box.
Maldini managed to shrug off his marker for long enough to get his head to Rui Costa's freekick but his contact was fractionally too weak and the ball spun away to safety.
With 25 minutes left, Juventus coach Marcello Lippi replaced his midfield lynchpin Davids with Uruguayan forward Marcelo Zalayeta.
But on the pitch it was Milan who looked the more determined to seal victory inside regulation time.
Their best chance to do so fell to the tireless Inzaghi. With quarter of an hour remaining, the former Juventus striker got in front of his marker to meet Serginho's inviting cross to the near post.
The huge Milan support behind the goal seemed to be trying to suck the ball into the net but Inzaghi was unable to keep his header down sufficiently to prevent the match heading into extra-time. - Sapa-AFP