Pep Guardiola was unable to select Aguero due to a knee injury, but the Argentina star's absence was hardly noticed as City edged a little closer to the Premier League title, with Silva stealing the show.
Any chance of struggling Stoke causing an upset looked over as early as the 10th minute, as Silva opened the scoring with aplomb after good work from Raheem Sterling, back from five games out with a hamstring injury.
The league leaders doubled their advantage early in the second half – Silva again providing a good finish after a well-worked move involving Gabriel Jesus, starting his first Premier League game of the year.
Stoke threatened to pull one back just after the hour, but Bruno Martins Indi shot over from close range and from there they looked devoid of hope as the visitors tightened their grip.
City were unable to add further goals despite their dominance, but it mattered little as they re-established a 16-point gap at the summit and secured a first league double over Stoke since 1998-99, when they were both in the third tier.
1999 – Manchester City haven’t done the league double over Stoke since the 1998-99 campaign, when they were in the third tier of English football. Nationwide. pic.twitter.com/4w2167uEgK— OptaJoe (@OptaJoe) March 12, 2018
Much was made pre-game about Stoke's need to keep things tight and ensure they were still in the game during the final 20 minutes in order to maximise the impact of their partisan support.
But after just 10 minutes, they found themselves trailing.
Jesus released Sterling up the right flank and he played a low first-time cross into the danger zone, where Silva arrived to guide home in expert fashion.
Stoke nearly levelled soon after, but Badou Ndiaye's 20-yard effort was deflected agonisingly wide of the bottom-left corner following fine play out wide by Xherdan Shaqiri.
Although the visitors remained on top, they nearly shot themselves in the foot nine minutes before the break – Ederson tipping the ball on to the roof of his net after Kyle Walker cleared a long ball back towards his own goal.
Jack Butland had to be similarly alert a few minutes later, getting down to his left to push Fernandinho's long-range strike away.
Butland was helpless five minutes after the interval, though, as Silva found Jesus and the Brazilian played a looping return pass into the area for the Spaniard, who neatly tucked away despite the goalkeeper approaching.
Fernandinho went close to adding a third a few moments later, bursting through the middle, linking with Kevin De Bruyne and then shooting into the side-netting.
Paul Lambert introduced Peter Crouch from the bench in the 63rd minute and he made an immediate impact, heading down a free-kick to Martins Indi, who blasted over from about eight yards.
Sterling should have rounded things off 12 minutes from time when he pounced upon an error after a drop-ball incident and charged through on goal, but he tried to round Butland instead of squaring to Jesus and that allowed Ndiaye to make a last-ditch tackle.
Key Opta Facts:
- Manchester City have won 81 points from their 30 Premier League games this season – three more than they earned in the entirety of 2016-17.
- City have now scored 85 Premier League goals this season – only 11 teams have ever scored more in a completed Premier League campaign.
- David Silva has scored eight Premier League goals this season, his second highest tally in a single campaign in the competition (12 in 2014-15).
- Silva also bagged his second league brace of the campaign – he'd only scored three in his previous seven Premier League seasons combined.
- Only Jonas Lossl (50) has conceded more Premier League goals among goalkeepers than Jack Butland (49) this season.
- Gabriel Jesus has played 31 Premier League games without ever being on the losing side (W26 D5). It's the fourth longest run without defeat from a Premier League debut, after Jens Lehmann (47), Arjen Robben and Didier Drogba (37 each).