Saido Berahino's second-half header moved Stoke to within four points of the Championship play-off places as they beat struggling Millwall 1-0 at the bet365 Stadium.
Berahino's header from Tom Ince's inviting cross after the hour was enough to earn the upwardly-moving Stoke three valuable points as they close in on the top six in the second tier.
Stoke were indebted to Jack Butland inside two minutes when he superbly saved low down to his left after Jed Wallace's cross from the right was poked towards his own goal by Potters captain Ryan Shawcross.
In response, Gary Rowett's Potters went close when Erik Pieters received the ball on the edge of the penalty area to thump narrowly wide with his left foot while James McClean drove into space from the left but saw his shot held by visiting goalkeeper Jordan Archer.
At the other end, Lions striker Lee Gregory twisted and turned in the box to strike a snapshot low across the face of goal, with the ball ricocheting off central defender Ashley Williams on the line.
As the second half kicked off on a gloomy winter afternoon in Staffordshire, clear-cut chances were at a premium, and having manoeuvred into a good position Ince tried his luck from 20 yards, although his attempt was way off target.
Knocking on the door, McClean's teasing cross from the left just evaded Wales international Joe Allen in a crowded box as Neil Harris' Millwall battled in the Potteries.
But after 61 minutes, Stoke's breakthrough came through striker Berahino as he met Ince's right-sided cross to guide his close-range header beyond Archer.
Despite their deficit Millwall remained spirited in their play, and pushing for a leveller, substitute Aiden O'Brien broke through on goal. But after being forced to the byline he struck a tame shot into Butland's grasp.
The impressive Ince's free-kick from 25-yards crept inches past Archer's post as Stoke looked to wrap up the result with a second goal.
In the closing eight minutes of a closely-fought contest, Jake Cooper wasted a glorious opportunity to salvage a point for Millwall when he failed to make a clean connection to Shane Ferguson's corner from the right, looping his header over Butland's crossbar in front of the travelling support.
Millwall had a penalty shout on 83 minutes when Gregory went down in the Stoke box under a challenge, but referee Chris Kavanagh waved away the appeals.
The men from the capital went close again when Cooper launched the ball up to the back post for veteran striker Steve Morison, although the substitute hooked his effort wide.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sport staff');
ga('pacontentapi.set', 'dimension2', 'e665d773-1c41-4809-a074-846bfff51e89');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:club-news,paservice:sport:football,paservice:sport:match-reports');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:football');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Berahino goal enough to lift Stoke past Millwall'});