A point in their final game at Watford on Sunday will now be enough to guarantee Pep Guardiola’s side a place in the top four and Champions League football, while a win would see them finish third and go straight into the group stage.
This was as straightforward a victory as City could have anticipated at this stage of the season, as two goals in two first-half minutes put them in control against a Baggies side that lacked ambition and did not seriously threaten until the final stages.
First, Sergio Aguero’s flick fed Kevin de Bruyne, who burst into the left-hand side of the area before squaring the ball to give Gabriel Jesus an easy tap-in.
One minute and 46 seconds later it was 2-0, thanks to a brilliant first-time finish from De Bruyne after Aguero’s attempt to tee up Jesus was cleared into the Belgian’s path on the edge of the area.
Yaya Toure made it 3-0 after the break, exchanging passes with Aguero as he marched into the area to slot past Ben Foster.
West Brom managed a late consolation when substitute Hal Robson-Kanu turned in Allan Nyom’s low cross.
Zabaleta bids Etihad Stadium farewell
With the points all but secured by Toure’s goal, attention for many City fans switched to Pablo Zabeleta’s big send-off.
After nine years with City in which he won every domestic trophy, the 31-year-old Argentina defender is leaving the club at the end of the season.
He started on the bench but the home fans sang his name from kick-off, gave him his first standing ovation of the night in the first half and then exploded into noise when he began warming up.
The ground rose to applaud him on to the pitch when he replaced David Silva on the hour mark, and then cheered every time he touched the ball.
Zabaleta ended the game wearing the captain’s armband after Vincent Kompany was substituted and West Brom’s belated fightback never threatened to ruin his night.