8mins: Real Madrid take the lead. An alert run from Raul leaves defender Lucio trailing and the Spain striker meets a long throw down the wing from Roberto Carlos with a first-time finish into the far corner.
14mins: Lucio equalises for Leverkusen with a firm header from Bernd Schneider’s left-flank free-kick after Claude Makelele had caught Michael Ballack late.
26mins: Ballack wastes the chance to give Leverkusen the lead when he air-kicks as the ball rolls across the box. It is cleared to Boris Zivkovic who can only drive straight at Cesar.
45mins: Zinedine Zidane volleys Real back ahead in spectacular fashion after the game had gone off the boil. Solari plays in Roberto Carlos down the left and the Brazilian loops a cross to the edge of the box. Zidane, in acres of space, shapes and volleys into the top corner.
60mins: Luis Figo is replaced by Steve McManaman.
80mins: Raul is inches away from reaching McManaman’s cross and a second goal, but the Leverkusen defence hold firm as Real step up the tempo once again.
81mins: Fernando Morientes wastes a chance to seal the game. Played in by Raul he turns in the box but scoops his effort over the bar.
82mins: Ballack fires high and wide from outside the box as Leverkusen push for an equaliser.
85mins: Dimitar Berbatov heads Oliver Neuville’s cross over the bar from 10 yards when unmarked in the Real box.
86mins: Leverkusen keeper Butt pulls off an outstretched save to deny Solari.
92mins: Goalkeeper Butt goes forward for a free-kick and meets the cross but his downward header goes wide.
95mins: Leverkusen force three corners in a row after Iker Casillas pulls off a flying save to deny Basturk. Casillas pulls off two goal-line clearances to deny the Germans.