Manchester City's Phil Foden has grabbed a last-minute winner to edge Borussia Dortmund 2-1 in their Champions League quarter-final first leg.
City took a 19th-minute lead with a classic counter-attacking move, finished off by Kevin De Bruyne, after Dortmund midfielder Emre Can gave the ball away on the halfway line.
Pep Guardiola's City side then had a penalty awarded, but overturned by video review, after a challenge by Can on Rodri, and buoyed by the reprieve, Dortmund found some attacking verve.
Romanian referee Ovidiu Hategan was at the centre of things again, when City keeper Ederson hesitated, and Dortmund's Jude Bellingham nipped in and slotted the ball into the net, but the 17-year-old was ruled to have fouled the Brazilian.
Ederson came to City's rescue early in the second half, saving from Erling Haaland with an outstretched foot, as the German side continued to cause problems.
City had several chances to extend their lead and paid the price for their lack of precision in front of goal, when Dortmund struck six minutes before the end.
Haaland's clever pass on the half-turn found Marco Reus, who timed his run perfectly and beat Ederson with a composed finish.
But then Foden, who had been wasteful twice in the second half, made amends with a clinical finish from close range, after being set up by Ilkay Gundogan.
Elsewhere, Real Madrid forward Vinicius Jr scored twice, as they punished a sloppy Liverpool side to win 3-1.
The 20-year-old Brazilian fired the 13-times European champions into the lead in the 27th minute at the Alfredo di Stefano Stadium, after Toni Kroos flummoxed the Liverpool defence with a long diagonal pass from his own half.
Marco Asensio put the hosts further at ease by scoring in the 35th, after a Kroos pass again caused havoc among the visiting backline, but Liverpool looked more settled after the interval and a scrappy Mohamed Salah strike pulled them back into contention early in the second half.
They failed to build on their momentum and Vinicius struck again in the 63rd minute to repeat the scoreline of the 2018 Champions League final and put Zinedine Zidane's side in pole position for next week's second leg at Anfield.