A stunning strike by Tranmere's Iain Hume ensured FA Cup humiliation for a second-string Bolton team.
Tranmere's goalscorers Eugene Dabi and Iain Hume
A messy Eugene Dadi goal looked to have given the Second Divison side victory.
But in stoppage time, debutant Ricky Shakes' deflected shot gave Premiership Bolton an undeserved reprieve.
Then Hume strode forward in the first minute of extra-time and curled an unstoppable shot past Kevin Poole to set up a fourth round tie at Luton.
Bolton manager Sam Allardyce had fielded a second-string side in the original tie and he stuck to his policy of concentrating on the Premiership and the Carling Cup by making 10 changes to the team that beat Blackburn on Saturday.
Allardyce's less than enthusiastic attitude to the FA Cup was mirrored by a somewhat subdued atmosphere in a sparsely attended Reebok Stadium.
Not that those supporters who had chosen to stay away missed very much in a low-key first-half.
So low-key, that the first real sign of goalmouth action did not arrive until stoppage time when Henrik Pedersen's shot came back off the post.
After the interval, the pace picked up and Poole made two saves in quick succession while Ryan Taylor should have done better after bursting into the box.
Throughout the game, Roberts had made a number of ambitious runs forward down the left and on 82 minutes he delivered a deep cross to Dadi.
The Frenchman failed with a header, but the ball bounced kindly for him and he scuffed his shot past Poole.
Dadi's goal shook Bolton from their slumber and the Premiership side surged forward to try and rescue the game.
And in stoppage time Shakes took the game into extra-time when his deflected shot left John Achterberg flat-footed.
Having got themselves back into the game, Bolton were soon searching for a second equaliser.
Tranmere should have been shellshocked by Shakes' late goal, but instead Hume picked up the ball and sent a wonderful left-footed shot past Poole.
Another deflected Shakes shot almost rescued Bolton for a second time, but Tranmere held on to add another Premiership scalp to their fine record in the FA Cup in recent years.
Bolton: Poole, Barness, Livesey, Comyn-Platt, Smith,
Giannakopoulos (Shakes 86), Frandsen, Facey (Taylor 79),
Pedersen, Jardel (Nolan 45), Vaz Te.
Subs Not Used: Ricketts, Talbot.
Tranmere: Achterberg, Sharps, Allen, Harrison, Taylor, Jones,
Mellon, Beresford (Hay 97), Roberts, Dadi, Hume.
Subs Not Used: Connelly, Howarth, Navarro, Linwood.
Referee: H Webb (S Yorkshire).