De Bruyne poked home David Silva’s square pass to break the deadlock, with Sergio Aguero extended City’s lead with two sublime goals.
Second-half substitute Bernardo Silva scored with his second touch to seal victory for Pep Guardiola’s side.
However, City defender Aymeric Laporte will be out “for a while” after being stretchered off with a knee injury.
City are second in the Premier League table, two points behind Liverpool, who beat Burnley 3-0 to continue their 100% winning start to the season.
A fluke own goal from Chris Wood – the ball deflecting in from range off his back – set the Reds on their way, with Sadio Mane and Roberto Firmino scoring the others.
A clinical first-half double from Tammy Abraham appeared to have put the Blues on course for victory, but Callum Robinson’s first goal for the Blades and Kurt Zouma’s late own goal earned Chris Wilder’s side a point.
A superb Daniel James strike – his third of the campaign – gave United the lead, but Jannik Vestergaard’s towering second-half header salvaged a point for the Saints, who held on for a draw despite Kevin Danso’s dismissal for a second bookable offence.
Haller, a summer signing from Eintracht Frankfurt, slid home after fine work from Arthur Masuaku, and Andriy Yarmolenko scored the second with a left-footed volley.
Vardy’s outstanding lob over Cherries goalkeeper Aaron Ramsdale put the Foxes in front, but Callum Wilson’s first goal of the campaign levelled matters.
Youri Tielemans restored the hosts’ lead late in the first half before setting up Vardy’s second as Brendan Rodgers’ team moved into the top four.
Jordan Ayew’s instinctive finish earned Crystal Palace a 1-0 win against Aston Villa, who had Trezeguet dismissed for a second bookable offence nine minutes after the break.
The victory moves Palace up to fourth in the table, with two wins, a draw and a defeat from their four games so far.
Watford claimed their first point of the campaign with a hard-fought 1-1 draw against Newcastle United at St James’ Park.
Will Hughes steered Tom Cleverley’s deflected effort past Martin Dubravka to put the visitors ahead inside two minutes, but Fabian Schar’s first goal of the season earned Steve Bruce’s side a point.
Everton take on Wolverhampton Wanderers (14:00 BST) and Arsenal host Tottenham Hotspur (16:30 BST) in the north London derby on Sunday.