The Potters moved to 8th on the Premier League table with their second win on the trot following last week's 3-1 result over Blackburn Rovers as Everton fell to 10th after being denied the chance to string together a trio of victories for the first time in about three years.
Everton were the dominant side for large portions of the match but found themselves a goal behind in the 15th minute when Robert Huth opened his Premier League account for the season. The German was perfectly placed at the top of the six-yard box to divert Dean Whitehead's volley from outside the area past Toffees keeper Tim Howard after a corner was not properly cleared by the home side.
Earlier in the match, Diniyar Bilyaletdinov missed a golden opportunity when he scuffed his attempt at the back post from Seamus Coleman's right-wing cross whilst the Potters came agonisingly close to a second in the 35th minute when Glenn Whelan's corner was flicked on by Huth into the path of Ryan Shawcross and Ryan Shotton but neither could get the touch required to put it past Howard.
With just over 20 minutes remaining there was a slight break in play when Stoke keeper Thomas Sorensen went down with what appeared to be a head injury sustained in a collision with Tim Cahill with the Dane eventually getting to his feet but he later had to be replaced by Asmir Begovic.
Everton were doing all the attacking late in the match as they chased a point with Jack Rodwell getting a strong shot off which was blocked by Andy Wilkinson as the Potters continued to get numbers back in defence moments before Johnny Heitinga was inches from putting Leighton Baines' left-wing cross into the back of the net.
However, Tony Pulis' men were able to see off David Moyes' frustrated outfit to record just their second away win in their past 17 attempts and their first lot of maximum points following a midweek Europa League fixture this season.
TRIBAL ASKS: With just 15 goals in 13 matches, is it safe to say David Moyes needs to buy a striker in January?
Yellow cards:EVE - nil STO - Marc Wilson 49'