Jordy Hiwula gave bottom-placed Rovers the lead early in the second half, capping a swift counter-attack to fire past Mike Cooper in the Argyle goal, before Luke Jephcott levelled after Ryan Broom was fouled by Kyle Knoyle in the box.
With the game looking to be petering out for a draw, referee Trevor Kettle awarded Argyle their second penalty in stoppage time, after Pontus Dahlberg was adjudged to have pulled down substitute Kieran Agard after spilling a cross – with visiting manager Richie Wellens sent off for his protests.
With Jephcott withdrawn, Conor Grant stepped up to send Dahlberg the wrong way to secure victory.
Plymouth shaded a competitive opening 45 minutes for chances, with Wales under-21 striker Jephcott coming closest to a first-half goal.
Latching onto a sweeping cross-field ball from Brendan Galloway, Jephcott’s deft touch took him beyond his marker and into the box before attempting to lob the onrushing Dahlberg, who made a superb reaction save in the Doncaster goal.
At the other end, Joe Dodoo, who scored twice in Rovers’ midweek EFL Trophy victory over Manchester City, dragged an effort wide from a tight angle after racing free down the right.
But after Hiwula had given the visitors the lead after the break Argyle netted twice from the spot to take the points.