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.

Arsenal go back to top as Eze seals vital win
Sooryavanshi fastest to reach 1,000 runs in T20s
Swiatek retires from Madrid Open due to illness
Tottenham, West Ham both win as battle to avoid relegation continues
Barcelona march on towards title with 2-0 victory at Getafe
