Home goalkeeper Marko Marosi made three crucial saves after the interval before being shown a red card for handling the ball outside the area as Ronan Curtis broke through.
Doncaster manager grant McCann had already used all three substitutes and Ben Whiteman had to be used as an emergency goalkeeper, but the nine remaining outfielders did well to protect the midfielder and even went close to grabbing a late winner.
“I don’t want to be asked questions about not scoring in three games because it will just annoy me,” said McCann.
“We’ve got a good group of players and they’ll score goals. We’re creating the chances. We’re not scoring them at the moment, but it’ll come. It’s a long season.
“It’s the hardest thing in football to score a goal, and to keep it out of your net.
“We all do it as a team. We defend as a team, it’s not just the back four and Marko.
“And the chances keep dropping to everybody, they’re not just dropping to John Marquis or Alfie May or Mallik Wilks.
“At the minute we’re just slicing at it or it’s not quite going for us. It happens like that over the course of a season. We know that we’ve got good players there who will take chances as the season goes on.”
The home side played the better football during the first half and gave Pompey very little time to settle on the ball, but Pompey were much-improved after the break.
Doncaster Rovers: Marosi, Mason, Wright, Butler, Andrew, Blair (Rowe 73), Whiteman, Kane, May (Kiwomya 82), Marquis, Wilks (Coppinger 72). Unused substitutes: Anderson, Lawlor, Tom Anderson, Beestin.
Portsmouth: MacGillivray, Walkes, Whatmough, Clarke, Brown, Ben Thompson (Close 46), Naylor, Lowe, Evans, Curtis, Hawkins (Pitman 46). Unused substitutes: McGee, Burgess, Dennis, Wheeler, Haunstrup.
Referee: Andy Haines (Tyne & Wear).