Bernardo Silva’s late winner sent Emirates FA Cup holders Manchester City into the 2023/24 final as they beat Chelsea 1-0 at Wembley.
The Portuguese midfielder struck home with six minutes to play to settle an otherwise even contest which saw Nicolas Jackson pass up a string of presentable chances for the Blues.
The pick of them came in the space of the same attack early in the second half, with two efforts saved by Stefan Ortega as City survived a spell of pressure before finding their cutting edge.
City will now face the winners of Sunday’s semi-final between Coventry City and Manchester United in the final on May 25, with a second successive Manchester derby in the showpiece a possibility.
Pep Guardiola made four changes from the side who went out the Champions League to Real Madrid in midweek with injured top scorer Erling Haaland among those to miss out.
City dominated possession early on but Chelsea were first to go close, Conor Gallagher picking Rodri’s pocket and feeding Nicolas Jackson, who shot straight at Stefan Ortega.
The in-form Cole Palmer, facing his former club fresh from four goals against Everton on Monday, then showed the confidence coursing through his veins when he tried an audacious effort from just inside the City half which never looked like catching out the City goalkeeper.
At the other end, Phil Foden rounded Djordje Petrovic but the angle was too tight for him to finish and Marc Cucurella was able to scramble the ball clear.
The clearest opening of the first half came just before the half-hour mark. Enzo Fernandez played in Jackson and the flag stayed down, only for the Senegal international to pay for a heavy touch as he tried to round Ortega, the move breaking down when his pass back inside was cleared
John Stones slid in to deny Noni Madueke and Palmer saw a low effort beaten away by Ortega as Chelsea continued to look the more likely before half time, during which Stones was replaced by Ruben Dias.
That theme continued early in the second period as Jackson spurned two fine chances in quick succession.
The striker side-footed a shot too close to Ortega after being played through by Gallagher before heading Palmer’s cross straight at the goalkeeper from close range mere seconds later.
City soon began to threaten, Foden’s shot pushed away by Petrovic, while Palmer continued to keep his former employers on their toes and fired a low free-kick just wide.
The game began to open up either side of the hour mark, Jackson’s pace ensuring the Blues remained a threat on the break as Pep Guardiola’s side began to assert themselves.
Substitute Jeremy Doku almost had an instant impact, wriggling free before being denied by the feet of Petrovic, before Kevin De Bruyne placed a shot wide from a trademark position on the edge of the area.
Mauricio Pochettino made a double Chelsea change with 10 minutes to go but just as City appeared to be destined for a second bout of extra time in the space of five days, they struck the decisive blow.
The influential Doku was involved in the build-up, sliding in De Bruyne down the left. The Belgian’s low cross was diverted by Petrovic into the path of Bernardo, who side-footed home in front of the City fans to send the sky blue half of Wembley into raptures.
England internationals Ben Chilwell and Raheem Sterling were brought on as Chelsea sought a leveller and the pair almost teamed up for one, Chilwell finding space down the left before seeing his attempted cross for Sterling turned behind.
Chelsea continued to threaten during eight minutes of stoppage time but their final chance came and went when Mykhailo Mudryk overhit a free-kick in a promising position, with the Blues denied a sixth final in eight years.
City, by contrast, remain in the hunt for two domestic trophies and will bid to lift the Emirates FA Cup for a ninth time next month.