Chelsea’s victory means an FA Cup final date with Manchester United next month.
Giroud muscled and dribbled past three defenders and keeper Alex McCarthy seconds into the second half to poke the ball home from a pass by the ever-busy Eden Hazard.
Morata, who came on for Giroud, made it two in the 82nd minute, nodding Cesar Azpilicueta’s cross into the net.
Relegation-threatened Southampton were outplayed for most of the match but came close to equalising in the 72nd minute.
Chelsea keeper Willy Caballero’s save kept out Nathan Redmond’s rasping shot.
They also had a possible goal not given when Charlie Austin was adjudged to have fouled the keeper.