The visitors were well below-par before the break and survived some nervy moments, but were much improved in the second half.
Gareth Evans was twice denied by excellent Marko Marosi stops, but the keeper was sent off for a handball in the closing stages, meaning Rovers finished with an outfield player between the sticks.
Kenny Jackett named the same side for a third successive game, following victories over Oxford and Bristol Rovers.
But if the visitors were in a confident mood then it was not particularly evident during the opening 45 minutes.
There were plenty of nervy moments in the Blues back-line, with the ball spending much of the time in and around their area.
An early chance from Alfie May was comfortably dealt with by Craig MacGillivray and the chances kept coming for Doncaster.
They had a great opportunity to open the scoring moments later, with unmarked skipper Andy Butler heading Herbie Kane’s corner wide from just a few yards out.
Then, after Anton Walkes had been penalised for a foul on Matty Blair, the free-kick was curled narrowly over by Ben Whiteman.
It was a sloppy start from Pompey and when they failed to clear the danger on 12 minutes, MacGillivray was called into action again to deny May.
The hosts then thought they should have won a penalty, although replays showed Walkes was nowhere near May when he flung himself to the ground.
Not much was happening at the other end of the pitch, with Ronan Curtis and Ben Thompson both sending efforts well off target.
Meanwhile, a cross from Jamal Lowe had to be turned behind by Niall Mason before Evans could connect at the far post.
There was then almost a second own-goal in a week for Jack Whatmough, not that he knew much about it.
Kane’s shot struck the defender and wrong-footed MacGillivray, who managed to recover in time to stop the ball crossing the line.
Rovers continued to dominate as the interval neared and Mallik Wilks’ inventive overhead effort was kept out by MacGillivray, while Whiteman then blazed over.
Doncaster Rovers 0
Jackett made a double change at the break, with Thompson and Oli Hawkins withdrawn for Ben Close and Brett Pitman.
And they looked more assured once the action restarted, seeing much more of the ball without being able to test keeper Marosi.
Doncaster still posed a threat, however, and Lee Brown made a timely clearance to stop former Blues loanee John Marquis getting a shot away.
It was Pompey who almost broke the deadlock just before the hour mark, however, when Evans met a low Curtis cross and saw his shot kept out by Marosi at point-blank range.
The ball came loose and Evans picked it back up again, but could only find the side netting from a tight angle.
By now the action was switching from one end of the pitch to the other and MacGillivray got down to his right to save Blair’s strike.
Another excellent chance for the visitors followed and once more it was Evans who could count himself unlucky.
He lined up a shot after Pitman’s initial effort had been parried into his path, although Marosi again made a fine save to deny him.
But the ball fell straight back to Evans and although his second attempt beat the keeper, Whiteman was on hand to clear from the line.
The chances started to dry up as the game neared its conclusion, although both sides were still trying to attack.
Suddenly the drama picked up again, however, as Doncaster were reduced to 10 men on 83 minutes.
Marosi came tearing out of his box to beat Curtis to the ball and handled it, earning a red card from referee Andy Haines.
The hosts had made their final substitution moments earlier, meaning midfielder Whiteman had to don the keeper’s jersey.
But he was well protected by his defence in the closing stages, with a simple save from Curtis the closest Pompey came to snatching victory.
Doncaster (4-3-3): Marosi; Mason, Wright, Butler (c), Andrew; Kane, Whiteman, Blair (Rowe 73); Wilks (Coppinger 73), Marquis, May (Kiwomya 82)
Sent off: Marosi
Booked: Whiteman, Kane
Subs not used: Lawlor, T.Anderson, J.Anderson, Beestin
Pompey (4-3-3): MacGillivray; Walkes, Whatmough, Clarke, Brown; B.Thompson (Close 46), Evans (c), Naylor; Lowe, Hawkins (Pitman 46), Curtis
Booked: B.Thompson, Close, Whatmough
Subs not used: McGee, Burgess, Haunstrup, Dennis, Wheeler
Referee: Andy Haines
Attendance: 7,618 (1,121 Pompey fans)