Everton were hit by a first-half Manchester City blitz to go down to only a second Goodison Park defeat in 11 matches.
Pep Guardiola’s City, who require just one more victory to wrap up their third Premier League title in seven seasons, led after four minutes when Leroy Sane thundered a volley into the Park End net.
Brazilian forward Gabriel Jesus headed in eight minutes later and – after Leighton Baines sent a free-kick flashing narrowly past the post – Raheem Sterling stretched his side’s lead eight minutes before the break.
Yannick Bolasie’s low 20-yard drive on 63 minutes – his first Goodison goal – cut the Toffees’ deficit but, despite Cenk Tosun coming close shortly afterwards, the hosts could not mount an unlikely comeback.