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.

Gauff outruns Pegula to win thriller at WTA Finals
Fermin double gives LaLiga leaders Barca win at Atletico
Manchester United rescue dramatic 4-4 draw with Aston Villa
Norris wins in Brazil as Mercedes take constructors' title
Arwa Ali wins 100m silver for UAE at Dakar Youth Olympics
