They conceded twice inside the opening five minutes, with Liam Mandeville opening the scoring before Christian Burgess inadvertently turned the ball into his own net.
A comical own-goal from Mathieu Baudry sparked hopes of a comeback, but they were dashed when Dion Donohue – figuratively and literally – saw red.
Kenny Jackett made one change from the side that convincingly beat MK Dons on home soil at the weekend.
Gareth Evans returned to the starting line-up in a wide attacking role on the right and was also handed the captain’s armband.
Jamal Lowe dropped to the bench, having travelled up later than the rest of the squad following the birth of his baby daughter.
Pompey were looking to build on successive league victories, but got off to a terrible start and found themselves two down before some fans had even taken their seat.
They had looked bright immediately following kick-off and a couple of attacks were thwarted by the Rovers back-line.
But the hosts were more clinical and broke the deadlock when Rodney Kongolo collected Tommy Rowe’s pass and squared for Mandeville to prod home.
And Doncaster doubled their advantage a few seconds later, as Burgess inadvertently sliced Harry Toffolo’s corner into his own net.
It almost got even worse for the Blues, but Andy Butler could not guide his header on target after meeting another Toffolo set-piece.
Pompey almost reduced their deficit midway through the first half, with Joe Wright forced to clear from the line when Burgess guided Matty Kennedy’s free-kick towards goal.
That was about it for clear-cut opportunities before the interval, with much of the battle taking place in the centre of the pitch.
Ben Close did see a volley charged down when Kennedy’s cross was headed into his path by Nathan Thompson.
Donohue then lifted a free-kick into the box with the seconds ticking down, but Kennedy was unable to force his shot through a sea of bodies.
Doncaster Rovers 2
Jackett, unsurprisingly, decided to make a couple of changes at the start of the second half, as the visitors looked for a route back into the game.
They were both attacking substitutes, with Evans and Kyle Bennett making for new father Lowe and – making his 100th appearance – Conor Chaplin.
And Chaplin almost made an immediate impression when Oliver Hawkins was fouled right on the edge of the box.
The diminutive striker stepped up take the free-kick and managed to bend it over the wall and against the crossbar.
But the Blues were handed a lifeline in bizarre fashion on 54 minutes – and it is a moment that Ian Lawlor will be keen to forget.
Doncaster’s keeper allowed Baudry’s back-pass to slip under his foot and was unable to hack the ball clear before it crossed the line.
That gave the visitors a visible lift, while their opponents started to display some nerves now their lead was so narrow.
A couple of dangerous Kennedy corners had to be headed clear, while a cross from the winger was then flicked narrowly wide by Chaplin.
But just when the 620 travelling fans started to dream of a comeback, Pompey were suddenly faced with an even steeper mountain to climb.
A frustrated Donohue kicked out at Niall Mason in an off-the-ball incident and although referee Martin Coy missed it, his assistant advised that the left-back should be dismissed.
The visitors kept trying to push forward in search of a leveller, but were obviously now finding it more difficult.
When they did get the ball into dangerous areas, Doncaster had plenty of players back to halt their charge.
There was clearly a bit of needle between the teams and something Mandeville said as he was substituted left Burgess enraged.
But Pompey were almost celebrating deep into stoppage-time when Lowe met Kennedy’s cross, only for his deft header to be superbly kept out by Lawlor.
Doncaster (4-2-3-1): Lawlor; Blair (Mason 46), Wright, Butler (c), Baudry (Beestin 72); Houghton, Whiteman; Kongolo, Rowe, Toffolo; Mandeville (Garratt 88)
Goals: Mandeville 3, Burgess 5 (og)
Subs not used: Marosi, Alcock, Ben Khemis, Fletcher
Pompey (4-2-3-1): McGee; Thompson, Burgess, Clarke, Donohue; Close, O’Keefe; Evans (c) (Lowe 46), Bennett (Chaplin 46), Kennedy; Hawkins
Goals: Baudry 54 (og)
Sent off: Donohue
Booked: Burgess, O’Keefe
Subs not used: Bass, Haunstrup, Oxlade-Chamberlain, Rose, Naismith
Referee: Martin Coy
Attendance: 7,211 (620 Pompey fans)