With Kyle Walker potentially ruled out for City until the end of the World Cup, Guardiola is lucky to have such a versatile full-back.
Cancelo can play on both flanks without any drop in defensive quality, although he is almost more threatening on the left side.
The Portuguese is the master of an outside-footed pass and sent a wonderful deep cross into the path of Riyad Mahrez, who flew just over the bar.
His response was to go it all on his own, twisting James Ward-Prowse inside out before hitting a left-footed shot into the bottom corner.
Kevin De Bruyne:
The Belgian has taken another notable step up the ladder to become one of the Premier League’s all-time greats.
De Bruyne broke City’s career assist record and moved up to fifth on the Premier League’s all-time assists list when he netted Phil Foden’s second goal.
He now has nine so far in the Premier League, already closing in on his own single-season record of 20 shared with Thierry Henry. With Haaland as a teammate and De Bruyne still improving, it wouldn’t be surprising if that record was broken this season.
Haaland’s scoring teammates:
Of course, Erling Haaland was finally on the scoresheet, but by then the game was long over.
What will have delighted Pep Guardiola is that City were clearly ahead long before he was on the scoresheet.
Haaland played his part in sliding Southampton’s centre-halves out of position to create space for his team-mates, who proved they too could finish their chances.
Changed flanks on the left side of the Manchester derby but it had little impact on his performance.
It might not have been another hat-trick, but it was another game where he was crucial in the final third.
Foden created the chance for Cancelo to drive Southampton for the opener with a quick pass that saw him flattened by Kyle Walker-Peters.
After missing a one-on-one with Bazunu, he was given a second chance less than a minute later and made no mistake with a deft finish.