Ole Gunnar Solskjaer's side matched their derby rivals for the best part of an hour, but City's superior quality finally shone through as they showed why they should be considered Liverpool's closest challengers for the title. United did not play badly, but were unable to find a way past the impressive Ruben Dias and the rejuvenated Stones at the back, as City seized the big moments at the other end.
For the Reds, firmly in the thick of the battle for the league, it was a fourth consecutive semi final loss. In contrast, Guardiola's City slickers progressed to their fourth successive final in this competition to set up a showpiece with cup specialist Jose Mourinho and his Tottenham team at the end of April.
Solskjaer made two alterations from the side which beat Villa on New Year's Day as Dean Henderson and Victor Lindelof came in for David de Gea and Eric Bailly, with the former making his Old Trafford debut.
Three goals were disallowed in the opening half hour, the first coming after only two minutes when United thought they had gone ahead. A sweeping ball saw the ball fall to Marcus Rashford and his shot, saved by stand-in stopper Zack Steffen, rebounded into the net off Stones. It looked tight and VAR confirmed that United's no.10 had strayed into an offside position.
Three minutes later, it was role reversal as Ilkay Gundogan stabbed the ball in at the Stretford End, only for a late flag to deny the German an opener.
Steffen saved superbly from Bruno Fernandes and Kevin de Bruyne thumped an effort off a post, in a thrilling start which already surpassed the sterile league meeting between the sides 26 days ago.
Marcus Rashford had an effort blocked by a superb intervention from the excellent Dias, and Scott McTominay flashed a shot over the bar from a distance in a strong spell from Solskjaer's United.
A penalty appeal saw nothing doing when a Rashford header appeared to strike Stones on the arm, but referee Martin Atkinson - and VAR - saw nothing untoward.
The first goal always seemed key and City grabbed it five minutes after the interval when a Foden free-kick fizzed across the box, evaded United's defence and fell to Stones, whom bundled home off his thigh.
Henderson saved superbly to keep out a Riyad Mahrez screamer whilst United continued to carry a threat at the other end as Harry Maguire headed wide, Fernandes fired straight at Steffen and then the same player went close again from distance with a curler.
Mason Greenwood was sent on to try and prise open City's resolute rearguard, but Guardiola showed his intention of holding what he had as the defensive-minded Rodri replaced the peripheral Mahrez.
Any hopes we had of a frantic finale were ultimately dashed as City put the result beyond any lingering doubt as Fernandinho thumped in a stunner having seized on a poor Aaron Wan - Bissaka clearance.
That ended any hopes United had of going on to lift the trophy, and forcing us to focus on bigger fights ahead.
Overall team performance: 6/10
United Faithful Man of the Match: Harry Maguire