Paul Gallagher dealt another blow to Millwall's survival hopes with a second-half winner for Stoke at the Britannia Stadium.
Despite the absence of Sambegou Bangoura, Gallagher had had to settle for a place on the bench at the start of the afternoon, but came on to strike the winner early in the second half.
Early in the game Millwall had taken the lead through Ben May, only for Carl Hoefkens to level from the penalty spot moments later.
Millwall's goal was reward for their early dominance. David Livermore had played in Carl Asaba - returning from injury to face his former club, in the third minute, but as he ran through the defence a heavy touch allowed Steve Simonsen to gather.
Stoke then had a chance when a long punt from Marlon Broomes bounced kindly for Mamady Sidibe but he could not keep his shot down.
However, most of the action was at the other end where Millwall were earning themselves a number of early corners and free-kicks. It was from one of those that Tony Craig saw his first cross cleared but he sent the ball back in and May was at the far post to head it in.
Stoke were soon gifted the equaliser when Hoefkens was bundled over by Craig right on the very edge of the area and, after the linesman signalled the penalty, it was Hoefkens who stepped up to hit a low shot into the bottom right-hand corner.
After that flurry of activity the game settled down, and it was not until the half hour mark that the next clear chance came, but Hannes Sigurdsson's left-footed half-volley slid just the wrong side of the post.
Moments later, Peter Sweeney's cross from the left was headed on by Josip Skoko and Sigurdsson was inches away from turning it in at the far post.
After Zak Whitbread had a weak penalty shout waved away early in the second half, it was Stoke who took control.
Substitute Gallagher saw Dave Brammer somehow turn his cross over the bar from point-blank range, but moments later it was the on-loan Blackburn man who put the hosts ahead himself. He beat Marshall with a curling shot from the outside of the area.
Gallagher was a constant menace in the second half as Millwall struggled to cope with Stoke's attack. He had two more chances to put the game beyond doubt, but fired the first from Sidibe's knock-down inches wide, while a second shot was straight at Marshall.
Millwall failed to threaten, even after the addition of Berry Powel, first as a partner to Asaba and then alongside his replacement Marvin Williams.
Deep into injury time, Gallagher had one last chance but Marshall turned his 20-yard shot round the post for a corner.
Teams
Stoke Simonsen, Hoefkens, Duberry, Hill, Broomes, Chadwick,Brammer, Skoko (Russell 80), Sweeney (Gallagher 37), Sidibe,Sigurdsson.
Subs Not Used: de Goey, Buxton, Mbuyi.
Booked: Skoko.
Goals: Hoefkens 15 pen, Gallagher 57.
Millwall Marshall, Lawrence, Paul Robinson, Whitbread, Craig,Dunne, Elliott, Livermore, Dyer, May (Powel 61),Asaba (Williams 80).
Subs Not Used: Doyle, Braniff, Ifil.
Booked: Lawrence, Whitbread.
Goals: May 8.
Att: 11,340
Ref: C Webster (Tyne & Wear).