Manchester City FC were left indebted to Joe Hart's heroics and the 90th-minute Mario Balotelli penalty that earned a 1-1 draw against Borussia Dortmund.
Defeated by Cristiano Ronaldo's goal for Real Madrid CF in the final minute a fortnight ago, City required a similarly tardy intervention on home soil in order to get off the mark in Group D. Substitute Balotelli provided the finishing touch from the spot after a Neven Subotić handball, cancelling out Marco Reus's opener for Dortmund just after the hour. The German champions' performance warranted more.
Both teams were group stage casualties 12 months ago but Dortmund's display suggested they have learned more from the experience. Beaten in all three away games in 2011/12, here they were slick and inventive, and got the goal they deserved when Reus intercepted a slack sideways pass by Jack Rodwell, a first-half replacement for the injured Javi García. Reus charged through before shooting across Hart, who got a hand to the ball but could not keep it out.
It was a goal that had been coming. City have yet to keep a clean sheet this season and Dortmund came out determined to exploit such vulnerability. It made for an exciting, open spectacle, right from the first minute when Samir Nasri's snapshot tested Roman Weidenfeller.
Dortmund's goalkeeper twice denied Sergio Agüero after the Argentina striker broke through on goal, yet with the rain teeming down and Dortmund's 2,773 noisy fans contributing to an electric atmosphere, the visitors soon made their presence felt. Mario Götze was the first to test Hart with a low attempt that the England goalkeeper touched onto a post.
Hart denied Götze twice again in a 60-second spell, staying big to block after he surged clear following a lightning exchange with Reus, then tipping another shot from the midfielder onto the crossbar. It was terrific stuff and somehow, after Hart had rebuffed a Robert Lewandowski effort and Silva volleyed over, we reached half-time goalless.
The second half was all Dortmund. Hart saved from Götze and even after Reus finally got the better of him, he was soon at it again, producing superb stops from Reus and İlkay Gündoğan. Lewandowski should have finished City off, only to turn Gündoğan's low cross wide when a goal looked certain.
Then came Balotelli's equaliser and City's lifeline. However, even after that, Hart had to turn behind another Lewandowski strike as City somehow salvaged a point.