Real Madrid are in the Champions League semi-final for the seventh successive year, having defeated Bayern Munich 4-2, but that does not even begin to tell the story. So much happened, so absorbing was this game, so impressive and so controversial too that it is difficult to know how to begin telling it. It lasted for a long time, too, these two European giants on edge until it was eventually decided in the 109th minute, Marcelo bursting through to roll the ball across for Cristiano Ronaldo to complete a hat-trick.

‘When Madrid got scared, the referee began his show’: Vidal rages after Bayern Munich exit Read more

Then and only then did it slip out of Bayern’s reach, with the score 4-3 and 5-3 on aggregate, but their focus would be on decisive moments that came before, particularly from the referee, Viktor Kassai. Another reason why, impressive though it was, starting with Marcelo’s run seems inadequate to explain a match that was a gift for fans – as long as they did not support Real Madrid or Bayern. Those that do suffered a collective coronary; those that support the German club were furious at how the game unfolded.

Bayern are out and when they seek to explain how, they will surely cite the Hungarian official who sent off Arturo Vidal in the 84th minute with the score 1-2 and allowed Madrid’s second and third goals despite them being offside. “We deserved more,” their manager, Carlo Ancelotti, said. “We’re not happy. In the quarter-final I think you need a referee who is, I don’t know, better. I don’t know if we would have qualified but it’s important not to make mistakes.”

Facebook Twitter Pinterest Arturo Vidal’s undeserved sending off was the turning point in the game. Photograph: Matthias Hangst/Bongarts/Getty Images

Ancelotti said Uefa should use video technology but that it should not have been necessary to see that the sending-off was wrong. “I could see he touched the ball,” he added. Asked what he said to the referee afterwards Ancelotti smiled and broke from Spanish to quote himself in English, “good job”. Zinédine Zidane preferred not to talk about the referee but the Real Madrid coach did add, “They told me their second goal was offside too.”

That the referee will be the focus is a pity after a game this good, with six goals and 45 shots, a night which ended with a huge, relieved and delighted ovation. It had gone to the wire and, in the end, Real’s way. Beaten in Germany, Bayern momentarily beat back Madrid to take this to extra time but they headed there a man down.

Bayern had begun so strongly that, when Madrid won a corner after a quarter of an hour, Marcelo gestured to the fans – the team needed their support. Bayern dominated the ball, constantly switching sides with long diagonals, and might have taken the lead when Marcelo blocked Thiago Alcântara and Arjen Robben scuffed the follow-up. There were nerves but there was talent too, with Robben and Marcelo especially outstanding – and what a game it was.

Real Madrid 4-2 Bayern Munich (agg 6-3): Champions League quarter-final – as it happened Read more

Madrid took a step forward, which is not to say that Bayern took a step back,` and chances came – lots of them. Manuel Neuer tipped away Dani Carvajal’s first shot and then blocked his second with his chest, Sergio Ramos unable to score the rebound, before Toni Kroos had three opportunities in 10 minutes. In between times Luka Modric turned a smart ball for Ronaldo but he shot at Manuel Neuer with Karim Benzema in support.

“Madrid score in every game,” Ancelotti had said, “but they concede in every game too.” Yet at half-time, somehow, it was still 0-0. It did not stay that way for long. Robben passed up a clear early chance, clipping over Keylor Navas but with insufficient power to take it beyond Marcelo on the line. A minute later he went down as he cut past Casemiro. There were doubts and at first the referee did not give it but he eventually pointed to the spot. Robert Lewandowski scored.

Bayern had 37 minutes to get another and might have done so immediately, Vidal volleying Robben’s clever clipped pass over the bar. Three minutes, two great chances missed, one scored, and Bayern did not intend to stop there. Madrid were on the ropes but still in the lead. Lewandowski was released but the linesman’s flag was raised wrongly. As they pushed, Madrid scored, Ronaldo heading in with 14 minutes left. Still it did not end: Bayern scored almost immediately with an own-goal that slithered in off Nacho and Sergio Ramos.

Facebook Twitter Pinterest Sergio Ramos, right, can only watch as his touch dribbles past Keylor Navas. Photograph: Matthias Hangst/Bongarts/Getty Images

And so, via opportunities at both ends, the game went to extra time. Madrid were fortunate not to go into it a man down when Casemiro escaped a second booking. Instead Vidal walked, shaking his head after a challenge on Marco Asensio.

Saúl Ñíguez gives Atlético Madrid the edge and valiant Leicester fall just short Read more

Bayern’s inclination was to protect themselves with possession but passes were harder to find and tiredness showed. Madrid applied pressure. The flow of chances did not slow but the direction shifted. Neuer saved Ronaldo’s shot and Marcelo thumped wide. Then Casemiro appealed for a penalty. As Madrid protested, Robben broke; Douglas Costa pulled beyond the far post. Next Neuer saved superbly from Asensio.

With seconds left in the first half of extra time Ramos lifted the ball into Ronaldo, alone and offside. He controlled on his chest, and perhaps with an arm, and made it 2-2. Nacho was forced into a sharp interception as Bayern sought a goal to put them through but the advantage was Madrid’s and Marcelo ran, leapt and laid the ball off for Ronaldo to score his 100th Champions League goal.

Madrid were through and Bayern broken before Asensio made it four.