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.

McIlroy set for Dubai return at DP World Tour Championship in November
Kaur steps down as India women's team captain
Gauff hits out at racist abuse after replayed point in Beijing sparks backlash
France come from behind to thrash Belgium
Medvedev disqualified from China Open semi after hitting ball into crowd
