Substitute Mario Balotelli rescued Manchester City's Champions League campaign with a late penalty equaliser in a pulsating 1-1 draw against Borussia Dortmund.
The German champions looked set to edge a contest dominated by both goalkeepers after Marco Reus pounced on a Jack Rodwell mistake to score just after the hour. City keeper Joe Hart and his opposite number Roman Weidenfeller had both produced a string of outstanding saves to keep their respective sides in the game at the Etihad Stadium.
However, Balotelli's late effort, after a contentious handball decision, ensured City now at least have a point from their opening two games in Group D.
City flew in as early as the first minute, as Samir Nasri hit the target with a snap-shot from the edge of the area which Weidenfeller parried. Dortmund also went close early on when Robert Lewandowski headed over from a Lukasz Piszczek cross. Hart produced the first of a series of fine saves to tip a Mario Gotze shot from the edge of the area on to the post after a quick Dortmund counter-attack.
The breathless opening continued as Marcel Schmelzer and Jakub Blaszczykowski cut through City with some fine interplay, but the hosts managed to recover and clear their lines. Hart came to City's rescue twice in quick succession to deny Gotze, first blocking at close range and then tipping a thunderous drive on to the bar.
City went close again when Zabaleta floated in a dangerous cross, but after it dropped just over Dzeko's head, Silva could only volley over. Dortmund had the last chance of the first half when Ilkay Gundogan found space in the area, but Hart, yet again, was equal to the shot.
Edin Dzeko did well to control a Yaya Toure pass with his chest early in the second half but his shot lacked the power to trouble Weidenfeller. City's poor luck with injuries in the competition continued as Nasri was forced off and Aleksandar Kolarov took his place. Meanwhile, Hart was stretched again as he turned away a swerving shot from Gotze.
But the England number one could do little after Rodwell gifted the ball to Reus with a poor pass just after the hour and the Dortmund attacker burst forward to blast into the net. The hosts were again lucky to stay in the game as Lewandowski first shot over and then put wide moments later after being picked out with a superb pass from Gundogan.
City boss Roberto Mancini surprisingly opted not to turn to Carlos Tevez in his attempts to snatch a result in the closing stages, instead sending on the unpredictable Balotelli. City kept the pressure on and gained a very fortunate penalty decision when Aguero hooked the ball towards goal and it struck Subotic's arm at point-blank range.
Balotelli did not complain and he stepped up to despatch a cool spot-kick into the bottom corner. The drama was not over and, fittingly, Hart had the final word as he kept out a strong drive from Lewandowski.