Mario Balotelli converted a last-minute penalty to earn Manchester City a Champions League lifeline with a lucky 1-1 home draw against an impressive Borussia Dortmund side on Wednesday.
The German champions took the lead when Marco Reus pounced on a poor cross-field pass from City substitute Jack Rodwell to race clear and finish past City keeper Joe Hart on 61 minutes.
Dortmund continued to dominate and were thwarted on several occasions by fantastic saves from Hart but were made to pay in the dying seconds when Sergio Aguero struck the ball against the arm of Neven Subotic.
Referee Pavel Kralovec pointed to the spot and Italian Balotelli, a late substitute, calmly stroked the ball low into the net to give the English champions their first point in Group B.
A pulsating first half stayed goalless thanks to a string of brilliant saves at both ends.
Dortmund's Roman Weidenfeller was called into action after just 30 seconds to palm away a shot from Samir Nasri and superbly blocked twice from Aguero when the Argentine was through on goal.
City's Hart twice pushed Mario Goetze shots against the woodwork and stood up tall to snuff out the German playmaker when he found himself through on goal after neat interplay around the box.
David Silva somehow volleyed over from two metres at the end of the first half, but after the break it was all Dortmund and the visitors duly broke the deadlock when Reus took advantage of Rodwell's mistake to bear down on goal and finish past Hart.
It was then down to Hart to keep City in the match as he single-handedly kept out everything Dortmund threw at him and Dortmund striker Robert Lewandowski was guilty of a glaring miss when he shot wide from close range.
Balotelli was introduced with nine minutes remaining and kept his head to neatly finish from the spot.
Dortmund are second on four points, two behind leaders Real Madrid, while City are third, one point above bottom side Ajax Amsterdam.