For a long time it looked like being one of those days for Manchester United and their fans. But in the end, despite going behind twice the champions secured a much-needed victory.
Stoke City took the lead after just four minutes, when Peter Crouch scored after a failed attempt by Jonny Evans to clear the ball. And the visitors could have gone further ahead were it not for some poor finishing and inspired goalkeeping by David de Gea.
Robin van Persie equalised just before the interval, but there was still time for Marko Arnautovic to send Stoke in ahead.
With no goals in the early stages of the second-half, Moyes sent on first Adnan Januzaj and later Antonio Valencia and Javier Hernandez. And it was the introduction of some much-needed pace and guile that led to Wayne Rooney's 78th-minute equaliser, followed just two minutes later by Javier Hernandez's winner.
The result leaves United eighth, but all they will care about is a vital three points. Stoke slipped one place to 17th and are in desperate need of a win of their own.