Stoke City condemned Manchester United to a fourth straight defeat to increase the pressure on manager Louis van Gaal.
Bojan Krkic broke the deadlock after a poor header back to David de Gea from Memphis Depay allowed Glen Johnson to play it back to the Spanish forward.
Stoke went 2-0 ahead through Marko Arnautovic's 25-yard finish after Bojan's free-kick had hit the wall.
Van Gaal dropped captain Wayne Rooney, who came on as a half-time substitute, and United struggled to create chances.
Stoke were superior throughout and could have won by more.
Arnautovic missed a great chance to add to United's misery when clean through, while Potters keeper Jack Butland denied Marouane Fellaini, Anthony Martial and Juan Mata.