In a match when neither keeper had much to do, particularly the visitors, Romain Esse’s 13th-minute goal was enough to earn Millwall victory.
Pompey raised their game in the second half, with Sammy Silvera and Zak Swanson catching the eye, yet they couldn't carve out enough opportunities to force home an equaliser.
And here are our Pompey player ratings...

1. Nicolas Schmid - 7
Like his opposite number, had very little involvement, which says plenty about the game. Did a good late stop, though. One lovely piece of sweeper keeping in the first-half when he calmly pointed at where he would pass the ball - and did just that. Photo: Jason Brown

2. Jordan Williams - 6
(Replaced by Christian Saydee on 69 mins) Handed his first start since January, primarily through injury, and did okay. Up against Connolly and dealt with him well in one-v-one situations. Photo: Jason Brown

3. Regan Poole - 7
Brave and fearless, Poole threw himself into every challenge, with the ball hitting him in the face during one first-half block. Plays with such heart and an excellent reader of the game too. Photo: Jason Brown

4. Connor Ogilvie - 7
Great battle with Coburn and often had the better of him, winning a few fouls after nipping in front of the striker. Then slotted into left-back with the minimum of fuss when Blues were chasing the game. Ending the season like a train. Photo: Jason Brown