In the first meeting between these sides, City exerted their authority from the off and there was no doubting the result once they went in front.
Their hopes of automatic progression had been in peril after being stunned in Norway last week, and they had to wait for almost 10 minutes after this match finished before their fate was confirmed, as a draw for Real would have edged City into ninth.
Two first-half goals provided much-needed relief, ensuring Guardiola's men do not have to play an extra two European games next month - a hurdle which proved their undoing against Real Madrid last season.
Haaland's early miss typified his recent form in front of goal - heading wide when under no pressure - but his cool finish on 10 minutes was a welcome return to form.
This was just his second goal in his past nine games in all competitions - and his first in open play since 20 December.
It also allowed the 25-year-old to continue his incredible scoring record at home in the competition, with 36 goals in his 28 matches on home turf.
City will now wait to see who they face in the last 16 of the competition, playing one of the sides that will emerge from the play-offs.
Guardiola added: "A lot of things to improve but really pleased to finish top eight considering how the Champions League has become.
"When I started 16-17 years ago, the Champions League was another type of competition. Today every team is really, really tough.
"Really pleased we don't play knockout stage and hopefully we can arrive in March at our best."
Comments