City's 19-year-old Nigerian striker Kelechi Iheanacho scored twice, in the 64th and 74th minutes, and was brought down for the penalty in the 43rd minute from which Sergio Aguero scored has 16th goal in as many games this year.
Fernando headed City's opener from Jesus Navas's 35th-minute corner. Stoke have now conceded four goals in each of their last three games.
Iheanacho will be hoping to retain his starting slot for City's Champions League semi-final first-leg game against Real Madrid at the Etihad on Tuesday.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
(Reporting by Neil Robinson, editing by Ed Osmond)
