Manchester City beat Championship side Southampton 2-1 with a late goal from Nico Gonzalez to book a place in an unprecedented fourth consecutive FA Cup final and keep alive their hopes of a domestic treble.
Southampton, who upset Arsenal in the quarter-finals, looked poised to continue their dream run when Finn Azaz struck a gorgeous shot from distance in the 79th minute that James Trafford had little chance of stopping.
But in what was a thrilling second half of the semi-final, Jeremy Doku wiped out Southampton's lead four minutes later when he worked the ball onto his right foot before unleashing a shot from the edge of the penalty area that deflected off James Bree and into the net.
Gonzalez struck a rocket from 20 yards out in the 87th minute and City, who won the League Cup earlier this season and are neck and neck with Arsenal at the top of the Premier League table, held on for victory in a breathless final few minutes.
City will meet the winner of Sunday's semi-final between Chelsea and Leeds United in the May 16 final at Wembley.

Messi becomes first to win MLS Golden Boot in consecutive seasons
Norris on pole in rain-hit Brazil for third year in a row
Real Madrid sweep aside Valencia to move level with Barcelona
Rybakina pulls out of WTA Finals due to fitness concerns
Egypt part ways with coach Hassan, Maher to replace him
