Stoke were dealt a huge blow in the build-up with the news that Ibrahim Afellay would miss several months due to a knee ligament injury, and it was the hosts who posed the early threat through Iheanacho.
Aguero wriggled out of a tight spot on the right wing before feeding Iheanacho, who directed his low strike just wide of the left-hand upright.
The Nigerian forward was unable to bring the ball under control when played in by David Silva in the 12th minute, before Glenn Whelan almost caught Joe Hart off guard with an ambitious free-kick from distance – the goalkeeper pushing over his crossbar for a corner.
Shay Given gratefully collected the ball when it deflected kindly into his grasp off Nicolas Otamendi from a Jesus Navas free-kick, but despite their dominance of possession, City initially struggled to truly test their former keeper.
However, after Joselu proved unable to direct his headed effort goalwards from an inviting Marko Arnautovic cross, the deadlock was finally broken when Navas’ corner was glanced beyond Given by Fernando.
Yaya Toure looked to have squandered a chance to double the lead when he opted against shooting from close range eight minutes later, but Iheanacho was ultimately pulled down by Shawcross as part of the same move, winning a penalty.
Aguero stepped up to confidently net his seventh goal in five Premier League matches from the spot.
GOAL READ MORE | Madrid will face a different Man City
A groin injury forced Stoke to replace Given with Jakob Haugaard at half-time, before Joselu failed to convert another Arnautovic ball into the box.
Mame Biram Diouf headed just wide as Stoke enjoyed a period of pressure, but the hosts’ threat remained and Toure’s side-footed effort was kept out by Haugaard.
Arnautovic, seemingly frustrated at his team-mates’ inability to convert his deliveries, decided to go it alone when he forced Hart into a save after drifting in from the right, but Iheanacho ultimately put the result beyond doubt.
After firing home unmarked from the centre of the box following good work by Zabaleta, the 19-year-old rounded Haugaard having been played in by Wilfried Bony – his 10th and 11th goals for the club.
City’s joy at the result was tempered somewhat by an injury picked up by Toure in the closing stages. The midfielder soldiered on to the final whistle, but there will be concerns over his fitness ahead of the Madrid double-header.