Garner, pictured second from right, headed Man Utd in front after 12 minutes before Angel Gomes finished at the far post to make it 2-0 on 20 minutes.
United extended their lead six minutes before half-time when Garner chipped goalkeeper Adam Davies.
Headers from Stoke duo William Forrester and Cameron McJannett made it 3-2 with 22 minutes left, but the Potters were unable to find an equaliser.
Man Utd stay three points behind West Ham with a match in hand.
Stoke remain fourth as they also push for promotion.