Antonio Conte selected Giroud over Morata in attack and the France forward rewarded that faith with the opening goal in the first minute of the second half.
Cesc Fabregas and Eden Hazard combined superbly to find Giroud in the box but he still had a lot to do, jinking away from a series of challenges before prodding past Alex McCarthy.
Shane Long wasted a golden opportunity to grab a leveller for Mark Hughes' men, the Southampton striker's heavy first touch preventing him getting a shot on goal, while he also saw a penalty shout turned away by referee Martin Atkinson.
Conte's tactical nous has been questioned in what has been a difficult season but his decision to replace Giroud with Morata with 10 minutes to go proved a masterstroke, Morata heading in a Cesar Azpilicueta cross 88 seconds after his arrival.
The win sees Chelsea advance to a meeting with Manchester United on May 19 and the chance to avenge last year's defeat to Arsenal in the Wembley showpiece.
Hazard, looking refreshed after being left out of the starting XI for Thursday's win at Burnley, rifled just over the angle in the fifth minute as Chelsea started on top.
The Belgium winger then drove through the centre of the pitch, teeing up Willian to crack an effort against the top of the crossbar.
Willian's 14th-minute free-kick was too high to worry McCarthy and Mario Lemina failed to seriously test stand-in goalkeeper Willy Caballero with a hopeful strike at the other end.
Fabregas was running the midfield and, when Giroud flicked his chipped cross into the air, the striker twisted to direct an acrobatic volley wide of the post.
Giroud - who scored twice from the bench in a comeback Premier League win at Southampton last weekend - found the net 27 seconds into the second half, though.
Another cute Fabregas ball into the box was plucked out of the air by Hazard, who regained balance and composure to play in Giroud, the target man brilliantly dribbling past three Southampton defenders before stabbing home.
22 - Olivier Giroud has had a hand in 22 goals in his 26 FA Cup appearances (15 goals, 7 assists), more than any other player in the competition since his debut in January 2013. Dancing. pic.twitter.com/CiB4xUSZLZ— OptaJoe (@OptaJoe) April 22, 2018
Southampton had barely threatened but Long found himself through on Caballero's goal after Charlie Austin dummied Wesley Hoedt's pass, the striker's control badly letting him down.
Atkinson rejected Long's weak penalty appeals and there were boos from the Chelsea fans for Conte's decision to bring on Tiemoue Bakayoko in place of Willian, who walked straight down the tunnel.
Former Chelsea player Hughes introduced attacking duo Nathan Redmond and Dusan Tadic in the 63rd minute in search of an equaliser, Caballero brilliantly denying the English winger with his legs.
But it was a Chelsea change that proved decisive, Morata heading home his third goal of 2018 from a precise Azpilicueta centre, although Charlie Austin almost pulled one back only to be denied by the post.
9 - Alvaro Morata has scored nine headed goals in all comps; two more than any other Premier League player. Bonce.— OptaJoe (@OptaJoe) April 22, 2018
Key Opta stats:
- Mark Hughes is just the second manager to be eliminated from the FA Cup as manager of two Premier League teams (Stoke and Southampton) in a single season, after Glenn Hoddle in 2000-01 with Southampton and Spurs.
- Since losing 3-1 to Southampton at home in October 2015, Chelsea have gone on to win the following six games against them in all competitions – their longest ever winning streak against the Saints.
- The Blues have reached the FA Cup final in successive campaigns for the first time since 2009 and 2010, and the 13th in their history; only Arsenal (20), Man Utd (20) and Liverpool (14) progressing to the final on more occasions.
- Chelsea have won seven of their eight FA Cup semi-finals at Wembley, with their only loss coming against Manchester City in 2013.
- Olivier Giroud has had a hand in 22 goals in his 26 FA Cup appearances (15 goals, 7 assists), more than any other player in the competition since his debut in January 2013.
- Alvaro Morata has scored nine headed goals in all competitions this season; two more than any other Premier League player.
- All seven of Cesar Azpilicueta’s assists this season have come for Alvaro Morata (Premier League 6, FA Cup 1).