The Red Devils, held by Burnley and Southampton here in their most recent top-flight outings, scored twice in the first half and added to their tally with a Romelu Lukaku strike in the second.
Just a second win in five home league games moves second-placed United three points ahead of Liverpool and Chelsea, while leaders Manchester City are now back within 12 points.
Jose Mourinho's men started the match brightly and took the lead through Antonio Valencia's perfectly-placed shot out of Jack Butland's reach after cutting in from the right, marking his first appearance in a month in style.
The hosts, who had an early penalty shout rejected after debutant Moritz Bauer sent Anthony Martial to the ground - a delayed reaction not helping the Frenchman's cause - were initially unable to build on their advantage.
A couple of openings then fell the way of Eric Maxim Choupo-Moting, who tested De Gea from one of them but could not send the ball past Phil Jones from the next one, the defender preventing a certain goal with his block.
With 10 minutes of the first half remaining momentum slowly started to return United's way, though, with Luke Shaw sending a shot on goal and Martial then going one better by picking out the top corner.
The attack, again originating down Stoke's left where Josh Tymon was filling in for the injured Erik Pieters, culminated in Paul Pogba squaring for an unmarked Martial to perfectly guide the ball past Butland.
City, to their credit, refused to roll over as Shaqiri forced the save of the match out of De Gea down to his bottom left with the final act of the opening 45 minutes.
Tymon was replaced by Kevin Wimmer at the interval as Stoke looked to shore up that exposed flank, but it was a familiar tale as Kurt Zouma gave the ball away for Martial to be played through, only for Butland to produce a big challenge from a one-on-one position.
While a two-goal lead may have flattered the hosts slightly at the interval, they were a dominant force after the restart as Lukaku and Martial both came close and Juan Mata twice missed the target from close range.
Mata did have the ball in the net with a quarter of the match left to play, rightly denied by the offside flag, but a legitimate third followed soon after through Lukaku, who held up the ball before turning and blasting past Butland to make it two in two.
MANCHESTER UNITED (4-2-3-1): De Gea; Valencia, Jones, Smalling, Shaw; Matic, Pogba; Mata (McTominay 83'), Lingard (Fellaini 80'), Martial (Rashford 80'); Lukaku
STOKE CITY (4-2-3-1): Butland; Moritz, Zouma, Martins Indi, Tymon (Wimmer 46'); Allen, Fletcher; Shaqiri, Ireland, Choupo-Moting (Sobhi 61'); Crouch (Diouf 70')