Dortmund had looked on course for a surprise victory at the Etihad after England international Jude Bellingham headed them in front after 56 minutes.
But City equalised in the 80th minute, John Stones beating Dortmund goalkeeper Alexander Meyer with a superb long-range strike.
City were in front four minutes later.
Haaland, playing against Dortmund for the first time since his £51m summer move to City, somehow managed to connect with Joao Cancelo's outside-of-the-boot cross – directing an unstoppable finish past Meyer.
It was his 13th goal in just nine games for City and his 26th in 22 appearances in the Champions League.
City supporters on social media were blown away by Haaland's remarkable finish.
"The little feint movement he does before then gives him the smallest bit of space in behind to attack. He's on a different level," wrote one fan on Twitter.
Another added: "Haaland is god."
While a third wrote: "HE'S INEVITABLE."
Victory for City sees them maintain their 100 per cent record in the Champions League this season, with two wins from two.
Insane finish but look at that pass too 😮💨— sz (@SZ_ctid) September 14, 2022
Erling Haaland has 26 goals in 22 Champions League games ... and he's still only 22 years old 😳 pic.twitter.com/AWHLG8mnjB— ESPN FC (@ESPNFC) September 14, 2022
Erling Haaland really scored this 🤯 pic.twitter.com/6Wx13X9MwB— B/R Football (@brfootball) September 14, 2022
Erling Halaand scores so effortlessly— ADE (@Adefolawe4Real) September 14, 2022
Pep Guardiola's side are now three points clear of Dortmund at the top of Group G, with FC Copenhagen third on one point - ahead of Sevilla on goal difference after their goalless drawn in Denmark.
Speaking after City's victory, Haaland told BT Sport: "This is what we are and this is how we have to play. I'm proud of the last 25 minutes."
He then had a cheeky dig at his City teammate and fellow goalscorer Stones, who was also up for interview duties after full-time.
"Mine was a bit better honestly," joked Haaland.
"Cancelo… a nice cross, it was a really important win."
Featured Image Credit: Alamy
- Jude Bellingham tells Erling Haaland 'f***'s sake mate' after the Man City striker's incredible winner against Borussia Dortmund
- Erling Haaland lasted 45 minutes against Borussia Dortmund, he looked livid on the bench
- Erling Haaland scores hat-trick to reach 25 Premier League goals in 19 games
- Erling Haaland Says Goodbye To Borussia Dortmund Players And Fans Ahead Of His Move To Manchester City