A damaging day for City also saw them lose Kevin De Bruyne to an ankle injury just over a week away from the League Cup final, where they face Tottenham, and the first leg of their Champions League semi-final against Paris Saint-Germain.
Chelsea were good value for another impressive win under Thomas Tuchel and will be favourites for the German’s first silverware in English football when they face Leicester or Southampton 15 May.
His side showed they can get the better of City in what could be a dress rehearsal for the Champions League final should the English clubs see off PSG and Real Madrid in the last four.
The physical demands of City’s bid for a clean sweep of trophies was shown as Pep Guardiola made eight changes from the side that beat Borussia Dortmund in midweek with goalscorers Phil Foden and Riyad Mahrez among those rotated.
Tuchel made just three changes and Chelsea looked the far less disjointed side in a bright start.
That proved to be the only shot on target of a cagey first 45 minutes that did little to whet the appetite of a potential reunion in Istanbul for European club football’s greatest prize on 29 May.
Despite the number of changes, the ease with which Chelsea were able to spring quick counter-attacks will be of concern to Guardiola with the fearsome duo of PSG’s Kylian Mbappe and Neymar to come.
From one slick break, Chelsea’s wing-backs combined but Ben Chilwell could only slice Reece James’s cross wide.
City got to half-time without any damage on the scoreline, but suffered a potentially huge blow to their hopes of still clinching a treble of trophies early in the second-half.
City were still reeling from the loss of the Belgium attacker when they were finally caught out by the Chelsea counter-attack.
Guardiola’s decision to retain Zack Steffen in goal for domestic cup competitions backfired as the American was caught in no man’s land when Werner raced in behind and once again squared for Ziyech to roll into an empty net.
City took until the final 20 minutes to get going, but their best chance of sending the game to extra-time came from a corner as Ruben Dias headed over from close range.
Instead, it was Chelsea who found the net again through Christian Pulisic in stoppage time only for the offside flag to again come to City’s rescue.
But there was no saving a bid for history for Guardiola’s men as they cannot now better Manchester United’s treble of Champions League, Premier League and FA Cup from 1998/99.