Haaland produced a superb acrobatic volley to convert Joao Cancelo’s equally impressive cross as Pep Guardiola’s side bounced back from a passive first half and late on to maintain their 100% start to the campaign. A perfect silence followed for Queen Elizabeth II. Dortmund proved a more awkward assignment for the Premier League champions than last week’s 4-0 drubbing in Sevilla, as well as a test of patience for Haaland and those hoping for a continuation of the goalscoring machine’s prolific run in City colours. The centre-forward was one of three former Dortmund players in City’s starting line-up alongside captain Ilkay Gündogan and Manuel Akanji, making his first start since his recent £16.7m move. A fourth, Sergio Gómez, was on the bench. Haaland won back possession several times, had a minor off-the-ball tussle with former Liverpool midfielder Emre Can and helped drink from away goalkeeper Alexander Meyer’s water bottle while waiting for a first-half corner. But he didn’t get a single glimpse of Dortmund’s goal during a dull opening period. The striker was not alone in this matter. Edin Terzic’s side comfortably suffocated City in the first half, their midfield three helping to form a solid unit that was content to let Riyad Mahrez and Jack Grealish take the ball out while closing the gaps in the middle. When danger arose, the experienced central duo of Mats Hummels and Niklas Sule were alert. Süle prevented Haaland from taking his first hint of a chance when he cleared Mahrez’s cross just as the former Dortmund striker rose to connect. It wasn’t until the 41st minute that Kevin de Bruyne had a chance to release Haaland behind the German defence, but that opening was snuffed out by Hummels’ cut. Jude Bellingham heads past Ederson to give Borussia Dortmund the lead. Photo: Peter Powell/EPA City painted a picture of frustration just before the interval with Guardiola at the frequent failure of his players to stop Dortmund from playing in behind. Grealish was another source of irritation. The £100m man was regularly found in space on the left but rarely got past Thomas Meunier at right-back or beat the visitors’ defense with a signature cross. It was Dortmund who created the first real chance of scoring when Jude Bellingham pulled away from Gündogan and Rodri in midfield before sending Raphaël Guerreiro to his mercy down the left. The full-back played the ball out to Salih Özcan, who got inside Akanji but fired a shot straight into the arms of Ederson. The visitors put City under constant pressure immediately after the restart attacking with greater intensity, speed and in greater numbers. Guardiola called in his assistants for an emergency technical meeting but, by the time their changes were made, Dortmund had done damage. Marco Reus almost scored after the impressive Bellingham released Ozcan on the left with a stunning first-time ball. Ozcan played the Dortmund veteran in behind the City defense and Ederson’s goal was opened when he checked inside Akanji’s desperate throw. Reus lifted his shot over the City keeper but also wide of the far post. Bellingham brought down the miss moments later. Start your evenings with the Guardian’s view of the world of football Privacy Notice: Newsletters may contain information about charities, online advertising and content sponsored by external parties. For more information, see our Privacy Policy. We use Google reCaptcha to protect our website and Google’s Privacy Policy and Terms of Service apply. The City crowd rose to applaud the imminent triple introduction of Phil Foden, Bernardo Silva and Julián Álvarez. But the ball was in the back of the City net before the substitutes sat down. Ozcan beat Haaland to a corner from Giovanni Reina, son of former City captain Claudio, and laid on Reus who was lurking unmarked on the edge of the penalty area. The Dortmund captain curled a cross back into the six-yard box where Bellingham, reacting far quicker than Haaland or Akanji, darted between his two former team-mates to beat Ederson with a header from close range. Guardiola’s changes improved City immeasurably in the final third, yet Haaland would endure more disappointment before haunting his former club. The striker had his first glimpse of the goal when De Bruyne’s chip went down the right channel but, from a tight angle, he shot wide. A Foden cross then appeared destined for the sliding Haaland only for Hummels to intervene once again with a challenge which Dortmund celebrated as a winning goal. Too early. With 10 minutes remaining an unlikely savior appeared in the form of the Stones. The defender, deployed at right-back in the absence of Kyle Walker, collected a pass from De Bruyne and opted to try his luck from 20 yards. Stones’ flick went over the head of Dortmund substitute Nico Sloterbeck and into the near top corner of Meyer’s goal. The keeper could have done better than to wave the shot away as it went wide, although the pace and dive were mitigating factors. Then came the moment Haaland and City longed for and Dortmund feared. It didn’t disappoint.