Pep Guardiola‘s men made the perfect start, with De Bruyne capitalising on a defensive mixup for Girona to stroke coolly beyond Paulo Gazzaniga after just five minutes at the chilly Academy Stadium.
13 minutes later, the Belgian turned from scorer to assister, playing the ball expertly into the box for Haaland to turn in at the near post.
The visitors did carry an attacking threat, with Valentin Castellanos striking the base of the post with a header shortly before the interval.
The La Liga side then came close again, with substitute Cristhian Stuani rattling the crossbar on the hour mark.
CITY+ | SIGN UP TO ACCESS EXCLUSIVE CONTENT
The visitors did eventually find the net after 86 minutes, but Vallejo Galvan’s header was ruled out for offside.
City stayed cool, calm and collected to see out the victory. View the best images from the encounter via our gallery below.