Victor Moses’ stunning header on the half-hour mark edged the game in favour of the dominant Potters, before substitute Mame Biram Diouf settled things six minutes from time.
Stoke recorded three consecutive league wins for the first time this season but Everton’s miserable run in the Premier League continues, Roberto Martinez’s side thriving in the Europa League but with only one domestic win in 12.
After a frenetic start to proceedings, which saw both sides fashion early chances, Stoke took control of the game and were in front when Moses rose highest to head home Phil Bardsley’s driven cross.
The Potters were unfortunate not to have doubled their lead before the break as Bardsley continued to cause havoc down the right wing.
Having weathered a brief Everton revival in the second half, inspired by the addition of substitutes Leon Osman and Arouna Kone, Diouf rounded off a fine Stoke counter to tap home Marko Arnautovic’s shot which had struck the post to guarantee the points.
Battles across the pitch begin to develop from the first whistle as Gareth Barry and Charlie Adam, and Steven Naismith and Phil Bardsley, came to blows in the opening exchanges.
One of Mark Hughes’ two changes before the game saw the injured Stephen Ireland make way for Adam and, after a keenly-contested opening quarter of an hour, the Stoke boss was forced into another change as Philipp Wollscheid had to be replaced by Geoff Cameron.
With chances few and far between for large parts of the first half, Stoke were rewarded for their persistent approach down the right wing on the half-hour mark.
Adam and Bardsley combined well to isolate Naismith, before the right-back drilled a cross towards Moses. The Nigerian just created a yard of space in the penalty area and directed an inch-perfect header into the far right-hand corner.
The second half followed a similar pattern to the first as both sides made promising starts with early chances. For the first time in the game, Romelu Lukaku was able to get away from his marker and get a shot away, but substitute Cameron was able to get back and deflect his effort out for a corner.
With an hour on the clock Martinez played his hand, as Kone and Osman replaced Barry and Lennon for the Toffees. And the pair almost had the desired effect as first Osman and then Kone saw efforts blocked and saved.
Peter Crouch’s quest for the most Premier League headed goals record will have to wait another week as Diouf came off the bench in his place.
Stoke looked to hit Everton on the break and it was this tactic which led to their second goal inside the final ten minutes.
After fellow substitute Arnautovic had raced away from the tiring Everton defence and rattled the woodwork, Diouf was on hand to notch his eighth goal of season as the Potters continued their fine record of remaining unbeaten in the last 20 games in which they have taken the lead.
Luke Garbutt went close with a free kick in the dying minutes, but Asmir Begovic was equal to the challenge.
Victory moves the Potters up to eighth in the table, while the Toffees remain 14th, 14 points behind Stoke on 28 points – six points clear of the relegation places.
Stoke City: Begovic (7), Bardsley (8), Wollscheid (5), Wilson (7), Pieters (6), N#’Zonzi (8), Whelan (7), Walters (8), Adam (7), Moses (9), Crouch (6).
Used subs: Arnautovic (6), Diouf (7), Cameron (7).
Everton: Howard (6), Coleman (5), Stones (6), Jagielka (6), Garbutt (6), McCarthy (6), Gibson (7), Barry (6), Lennon (5), Lukaku (6), Naismith (7).
Used subs: Kone (6), Mirallas (5), Osman (7).
Man of the Match: Victor Moses.
Watch Wednesday’s goals on SSNHQ from midnight.