Juan Mata grabbed the winner as Manchester United secured a fourth successive Premier League triumph to stay fourth in the table.
Mata's second-half free-kick evaded everybody and flew into the corner to help the hosts earn the spoils after Steven N'Zonzi had cancelled out Marouane Fellaini's header.
United headed into the match brimming with confidence and some fine early play was rewarded when Fellaini headed home a first half opener from Ander Herrera's cross.
Stoke City responded well and found a way back into the match thanks to a stunning strike from Steven N'Zonzi six minutes before half-time.
However, United regrouped on the restart and grabbed a deserved three points thanks to Mata's fourth goal of the season.
The hosts seemed determined to establish a passing rhythm in the early exchanges, knocking the ball around with confidence, though the visitors were giving nothing away at the back.
A golden opportunity went begging in the 16th minute as Herrera, selected as one of two injury-enforced changes because of problems sustained by Angel di Maria and Wayne Rooney against Hull City on Saturday, sidefooted over the bar after Robin van Persie intercepted a poor pass from Stoke goalkeeper Asmir Begovic.
However Herrera atoned for his miss in the 21st minute as he sent over a superb cross to the back post for Fellaini to power a header past Begovic for his first United goal at Old Trafford.
United's combination of crisp passing and high-intensity pressing continued to cause problems for the visitors, but they found an equaliser against the run of play.
Fellaini lost possession in midfield before complaining of apparent neck pains as Bojan Krkic surged clear and N'Zonzi rocketed home from the edge of the area after the Spaniard's progress was halted.
Mark Hughes' men were again proving a tough nut to crack after the interval, but a deserved United second came when Mata's delivery missed the head of Marcos Rojo, who claimed the goal, on its way into the net.
Bojan curled a free-kick wide of David de Gea's post before James Wilson - handed a first start of the campaign in place of Rooney - curled wide having powered into the box in-between two Stoke defenders.
They were nearly made to rue that miss as Stoke spurned two glorious opportunities to level.
De Gea kept out the first one, showing stunning reactions to away Mame Biram Diouf's far post header.
And Ashley Young denied the Senegal striker moments later, blocking his effort on the line after De Gea had saved Marko Arnautovic's strike from point-blank range to preserve three points which only strengthen United's charge into Champions League contention.
Manchester United manager Louis van Gaal: "It was not our best performance. We were not aggressive enough in the first half, we didn't keep our position on the pitch. I was not pleased at half-time - and I told them.
"The second half was better, we created more chances but we need to score more goals. The last few moments were not necessary but it is always like that. We have struggled until the end in the Premier League - it is common.
"I'm happy with the result - tomorrow we have a Christmas party and it's important we can enjoy that.
"Wayne Rooney has a scan on Wednesday and then we will know more. I'm pleased Angel Di Maria's injury is not so heavy. We've got more players coming back and we can see a little more light in the tunnel."
Stoke City manager Mark Hughes: "We're left shaking our head again as this is another game and another stadium we've come to where we've given a great account of ourselves. We're really disappointed not to take anything from the game.
"We're a hair's breadth from getting an equaliser and that's how it's going for us at the moment.
"We're in a period now where a few injuries have been affecting us. We're not getting turned over by anyone. We're a good team and we're competitive in this league and I'm sure that's what we'll be able to do now that we move in to a busy period of the season."
|14 Dec 2014||v Liverpool (H)|
|08 Dec 2014||v Southampton (A)|
|20 Dec 2014||v Aston Villa (A)|
|26 Dec 2014||v Newcastle (H)|
|28 Dec 2014||v Spurs (A)|
|01 Jan 2015||v Stoke (A)|