Dany N’Guessan’s goal nine minutes from time sunk Pompey at The Den today.
The Millwall front man delivered the crucial blow to end the Blues’ four match unbeaten run.
Michael Appleton’s men had looked good for a point in a match high on endeavour but low on real cutting edge from either side.
But Liam Trotter rose to head Liam Feeney’s cross into the path of N’Guessan who made no mistake in the key moment of the game.
Pompey failed to create much in the way of clearcut opportunities, but looked largely comfortable in the first half.
David Norris had an early sighter of goal and Liam Lawrence headed well wide when well placed before the break.
Liam Feeney had Millwall’s best first-half effort saved moments before the break.
Millwall upped the ante midway through the second-half as their fans in the crowd of 11,002 got behind them.
Pompey were standing firm though, with Erik Huseklepp firing just wide from 25 yards with 16 minutes remaining.
Blue hearts were then broken by N’Guessan to leave Pompey in 17th place on 27 points ahead of this afternoon’s games.
Joel Ward also limped off for Appleton’s side in the second-half.