Nico Gonzalez scored a wonder goal to send Manchester City into the FA Cup final after a 2-1 win over Southampton at Wembley.
The Spanish midfielder let fly from 30 yards to complete the comeback after second-tier Saints took a shock lead with just over 10 minutes of the match remaining.
Jeremy Doku’s deflected shot brought the sides level moments after Finn Azaz had netted a sumptuous goal for Saints.
Southampton defended resolutely throughout but they were unable to see out what would have been a memorable victory in the capital.
In the end, Gonzalez’s sublime strike secured passage to the final for Pep Guardiola’s side as City’s treble hopes remain firmly alive.
City dominant from the off
Perhaps predictably, City had the majority of possession from the off. However, the Championship high-flyers nearly produced an early shock when Leo Scienza struck a fine finish into the bottom corner after 13 minutes, but the Brazilian was offside.
The Premier League side continued to dominate the ball, but Guardiola’s men failed to find to slick rhythm that has become synonymous with City under the Catalan manager.
Southampton, meanwhile, were defending resolutely, frustrating their top-flight opponents.
An entertaining second half
The second half started with much of the same – City probing; the Saints remaining resolute.
Tijjani Reijnders went close just before the hour mark when his curling effort fizzed just past the far post. Moments later, Omar Marmoush wasted a good chance when he blasted high over the Southampton goal from Rayan Ait-Nouri’s cut-back.
The Egyptian forward was then inches away from getting on the end of Rayan Cherki’s driven cross as City pushed for an opener.
Savinho’s lashed an effort that was parried by Daniel Peretz before Reijnders’s low strike flew wide of the mark.
But for all City’s pressure, it was Southampton who broke the deadlock. And it came in stunning fashion.
At the end of a rare venture into the opposition half, the Saints worked the ball to Azaz on the edge of the area.
The Republic of Ireland international unleashed a sublime swerving strike that gave James Trafford no chance before nestling into the net to spark jubilant scenes inside Wembley.
The lead lasted barely two minutes, Doku levelling when his deflected shot bounced beyond Peretz.
With the contest well and truly alive, Trafford palmed a Saints effort over the bar before City completed the comeback three minutes from the end.
The ball fell to Gonzalez a full 30 yards from goal. The Spaniard took a touch out of his feet before producing an unstoppable effort that flew into the goal to cue wild celebrations among the City fans.
Kuryu Matsuki then cleared off the line from Savinho after Southampton had thrown men forward. And it proved to be the last of the action as the pulsating contest was brought to a close and City marched on to the final.

Line-ups
Man City XI: Trafford, Nunes, Stones, Ake, Ait-Nouri, Nico, Kovacic, Reijnders, Cherki, Foden, Marmoush
Subs: Donnarumma, Haaland, Doku, Guéhi, Bernardo, Savinho, O’Reilly, Khusanov, Lewis
Southampton XI: Peretz, Bree, Harwood-Bellis, Wood, Welington, Bragg, Jander, Fellows, Azaz, Scienza, Stewart.
Subs: Long, Quarshie, Jelert, Charles, Matsuki, Edozie, Robinson, Archer, Larin