Chelsea ended Manchester City's quest for a historic quadruple as Hakim Ziyech's goal earned a 1-0 win to take the Blues into the FA Cup final on Saturday.
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 will face Leicester or Southampton May 15.
Tuchel could land an even bigger prize in the Champions League just months after replacing the sacked Frank Lampard in January.
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.
"I’m very happy and proud of the team. We played against one of the strongest teams in Europe," said Tuchel.
"I think we deserved the win. We could have scored the second goal to make it more calm, but we didn’t and had to suffer in the last minutes of the match. We defended with a lot of courage and didn’t allow any big chances. We needed this performance. I’m happy we stole the win."
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.
Timo Werner's cross was swept home by Ziyech after just six minutes, but the goal was ruled out for offside against the German international.
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 May 29.
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.
Just 11 days before the first leg of the PSG tie, De Bruyne appeared to roll his ankle in a challenge with N'Golo Kante and was replaced by Foden.
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.
Steffen made some measure of amends moments later to deny Ziyech a second when the Moroccan was clean through.
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.
“They went through so congratulations [to them]," said Guardiola. "They defended well and are a strong team. I know how we reacted in the second half and it was good. We have not had a midweek free for eight months.
“We have played a lot of games and it will continue. Now it is the Premier League, the Carabao Cup next week. It’s just one more game.”