
Mihailo Ivanovic's goal was his sixth of the season in all competitions
Mihailo Ivanovic's last-minute penalty gave Millwall victory over struggling Stoke City.
The game was moments away from ending as a stalemate until Ben Willmot was adjudged to have pulled Josh Coburn down in the box as he looked to get on to Wes Harding's long throw.
After a low-key first half, the away side came close to breaking the deadlock on the hour mark when Bae Junho drove forward down their left and crashed a fierce shot against the crossbar.
Lions goalkeeper Lukas Jensen then did well to deny Wouter Burger from 12 yards and Potters midfielder Jordan Thompson headed Japhet Tanganga's goal-bound header away before the late drama saw Millwall take the points.
Victory moves Alex Neil's men to within five points of the play-off positions, while Stoke remain just four points clear of the relegation zone.
Stoke looked to be on course for successive clean sheets following their important win over Blackburn but were left to rue not managing to see out the final moments of a largely uneventful contest.
Both teams had played on Wednesday, with Millwall losing 2-0 at leaders Leeds, and there was barely an incident of note in the first 45 minutes.
The Lions started the second half the brighter and Coburn appealed for a penalty when Ben Gibson had hold of him in the area.
Stoke then nearly took the lead when the lively Junho latched on to Eric-Junior Bocat's ball down the line and hit a shot that rattled the bar with Jensen beaten.
The next chance for Mark Robins' team was better, albeit more fortuitous, as an attempted pass out of their area by a Millwall player was blocked and the ball fell perfectly for Burger, only for Jensen to deny him out with his leg.
The home side started to carry more of a threat thereafter and Tanganga's header from Joe Bryan's corner looked to be flying in only for Thompson to direct it away.
With both teams tiring a draw felt inevitable, but Mihailovic's winner boosted the Lions' slim top-six hopes and leaves Stoke firmly in trouble.
Millwall travel to promotion-chasing Sunderland after the international break, while Stoke host mid-table Queens Park Rangers.
'Half of that squad I put together' - reaction
Millwall head coach Alex Neil:
"Whether it's a penalty or not, we've all been victims of decisions across the season, but I thought it was no more than we deserved for our second-half performance.
"At this level, a lot of games are defined by key moments – whether you take that chance, whether it was a penalty, whether you can execute that pass, get that strike away.
"It was a really pleasing win [because] you're playing against a team that's fighting for their life at this stage of the season.
"They got a really good win during the week, they've got a really strong squad – half of that squad I put together, so there's some really good players in there, but for us that was an excellent win."
Stoke boss Mark Robins told BBC Radio Stoke:
"It was a game short on quality all the way through apart from when we got on the ball.
"First half, we played some reasonable football - they're spoilers, they set their stall out to do what they did, but we can't become embroiled in that, which happened in the second half.
"We ended up stopping playing our game, making mistakes, although we created some brilliant openings for Burger and then Junho hit the bar, then other times we picked the wrong option.
"What the referee has seen (for the penalty), I have no clue - their player put his arm inside Ben Wilmot's arm, then rolled, and I don't know what Ben's supposed to do because he can't get away from him, so then they go down and he's bought the penalty. It's absolutely ridiculous."