After a tight first 45 minutes, the visitors took the lead shortly after the break, with Jude Bellingham glancing beyond Ederson.
With just ten minutes remaining, Stones struck a thunderous effort into the top corner with our first shot on target.
Four minutes later, Haaland struck the winner after acrobatically finishing from Joao Cancelo's sumptuous outside foot cross, notching his 13th goal in all competitions this season.
Pep Guardiola's side were rampant and nearly added a third, but Julian Alvarez was denied by a smart save from Alexander Meyer.
City have now equalled the record for the longest unbeaten home run by an English side in the Champions League, making 21 matches without defeat at the Etihad in the competition.
The victory keeps City top of Group G after two matches in the group.
View the best images from the win via the gallery below.