Erling Haaland scored his 20th goal for Manchester City as his side swept Southampton aside to move top of the Premier League.
The 22-year-old Norway striker has taken only 13 games to reach that mark in all competitions, with struggling Saints the latest side to find out how hard it is to keep him or his team-mates quiet.
City attacked relentlessly from the start and Haaland was within inches of giving them an early lead when he hit the inside of the post after galloping clear.
Instead it was Joao Cancelo who put the home side ahead, running on to Phil Foden’s pass and cutting past James Ward-Prowse before finding the bottom corner of the net.
Foden, who like Haaland scored a hat-trick here against Manchester United last weekend, got on the scoresheet himself soon afterwards with a dinked finish after Kevin de Bruyne found him in space in the box.
That put City in complete control at the break and they wrapped up the points at the start of the second half when Mahrez volleyed home a Rodri cross.
The only thing missing for the home fans was another Haaland goal, and for once it appeared it might not be his day.
Haaland was unable to get on the end De Bruyne’s cross under pressure from Mohammed Salisu, and then brilliantly denied by Bazunu, who dived at his feet as he charged through at goal.
As the chances kept coming however, you just knew Haaland would take one – and so he did, meeting Cancelo’s cutback with a typically precise low finish to make it 4-0 after 65 minutes.
Southampton, who managed only one touch in the City area and a total of two shots – both from distance, and both off target – never looked like avoiding a fourth-straight defeat.