Sergio Aguero scored his first goals since December as Manchester City got their title challenge back on track with victory at Stoke.
City, who had not won at the Britannia Stadium in the Premier League, took the lead through Aguero's run and finish.
Peter Crouch stooped to head a deserved equaliser for Stoke but James Milner nodded Manchester City back in front.
Aguero got his second from the penalty spot after David Silva had been fouled, before Samir Nasri drove in a fourth.
It was a welcome return to winning ways for Manuel Pellegrini's side, and ensured their seven-point gap on Premier League leaders Chelsea did not get any bigger with Jose Mourinho's side beating Everton.
Wednesday's other football results
Manchester United 3-1 Burnley: Substitute Chris Smalling scored twice to help Manchester United overcome battling Burnley and climb up to third in the Premier League table.
Chelsea 1-0 Everton: An 89th-minute deflected strike from Willian gave Chelsea a victory over Everton that maintained their seven-point Premier League lead.
West Brom 2-0 Swansea: West Brom moved four points clear of the Premier League relegation zone as goals from Brown Ideye and Saido Berahino secured victory over Swansea.
Crystal Palace 1-1 Newcastle: Crystal Palace manager Alan Pardew earned a point in his first match against former club Newcastle as Fraizer Campbell's goal secured a draw at Selhurst Park.
Southampton 0-0 West Ham: West Ham had goalkeeper Adrian sent off but frustrated Southampton by holding on for a goalless draw at St Mary's.