Leyton Orient leapfrogged their opponents in the table after limiting the hosts to few clear-cut chances.
Marc McNulty had the best of them before the break, but it was the Londoners who looked more likely to add to the scoring.
Paul Cook made four changes from the side that drew at Morecambe during the week.
Kieron Freeman was brought in for his debut at right-back, while Christian Burgess, Gary Roberts and Kyle Bennett all returned to the starting line-up.
Adam Webster – who was carrying a slight hamstring strain – dropped to the bench, along with Ben Davies and Gareth Evans, while Kal Naismith missed out completely.
Former Pompey loanee Alex Cisak started between the sticks for the visitors, but there was no place in their side for Nigel Atangana.
The Blues came roaring out of the blocks and McNulty drew a save from Cisak in the opening few seconds.
Then, at the other end of the pitch, Sammy Moore’s delivery from the right was deflected onto the roof of the net.
Those incidents did not foreshadow a half of scintillating football, however, with the game soon turning into a drab affair.
The crowd did their best to lift the mood at a blustery Fratton Park, but chances were thin on the ground.
Pompey did spark into life around the half-hour mark when Cisak came charging off his line to deny McNulty following good work from Bennett.
Freeman was then not quite able to pick out Roberts with a raking pass in a move that began with a lovely bit of trickery by Ben Close.
Ryan Fulton had not been troubled in Pompey’s goal, but Orient did carve out a couple of chances before the break.
McAnuff was the creator for both, with his crosses headed into the side netting by Mathieu Baudry and narrowly wide by Moore.
Leyton Orient 0
Pompey had an opportunity just after the restart when the rampaging Freeman was felled wide on the right.
He took the free-kick quickly and Roberts’ cut-back was intercepted, with Freeman hitting the loose ball wide.
But Orient wasted an excellent chance to break the deadlock moments later – and it was their manager who was left hanging his head.
Burgess made a great block to deny Jack Payne, but the ball sat up nicely for Kevin Nolan, who somehow managed to hit the bar from a few yards out.
His blushes were spared on 53 minutes, however, thanks to a stunning strike from McAnuff.
Jay Simpson’s path to goal was blocked and the ball sat up for the winger, who fired home an unstoppable first time shot from 25 yards.
Cook made his first change on the hour mark, with home debutant Michael Smith making way for Evans and Pompey reverting to their usual 4-2-3-1 system.
They soon had an opening when Bennett’s free-kick from the left made its way through a crowded box without anyone managing to get a touch.
But it was Orient who almost doubled their lead on 66 minutes, with Simpson hooking over from close range after Fulton had kept out Nolan’s header.
Simpson went close again moments later when he met McAnuff’s cross with a diving header that flew straight at Fulton.
Pompey soon made a double change to try to inject some attacking impetus, with Conor Chaplin and Adam McGurk on for Bennett and McNulty.
Referee Graham Salisbury booked Cisak for time-wasting as the visitors looked to see out the closing stages.
Pompey were desperately trying to get the ball into the box and Chaplin’s header was deflected wide from Roberts’ corner.
But it was Orient who almost scored near the end when Armand Gnanduillet met a cross at the far post and volleyed against the woodwork.
And McGurk and Michael Doyle were both denied by brave Nicky Hunt blocks deep into stoppage-time as the visitors held on to secure all three points.
Pompey (4-4-2): Fulton; Freeman, Burgess, Clarke, Stevens; Roberts, Close, Doyle (c), Bennett (Chaplin 73); McNulty (McGurk 73), Smith (Evans 60)
Subs not used: Bass, Davies, Webster, Barton
Leyton Orient (4-1-4-1): Cisak; Hunt, Baudry (c), Brisley, Shaw; Payne; McAnuff, Moore (Clohessy 73), Nolan (Pritchard 70), Jahraldo-Martin; Simpson (Gnanduillet 80)
Goals: McAnuff 53
Subs not used: Sargeant, Essam, Binnom-Williams, Palmer
Referee: Graham Salisbury
Attendance: 15,643 (1,031 away fans)