Freddie Ljungberg and Emmanuel Adebayor struck in extra time to give Arsenal an FA Cup fifth round tie with Blackburn - despite missing two penalties.
Emmanuel Adebayor celebrates after putting Arsenal ahead
Adebayor's early goal looked to have put Arsenal through, but Gilberto Silva's penalty miss gave Bolton hope.
Abdoulaye Meite scrambled a last-gasp equaliser, but substitute Ljungberg was on target after 108 minutes.
Bolton's Tal Ben Haim was sent off and Julio Baptista missed Arsenal's second spot-kick before Adebayor scored again.
606 DEBATE: Give your thoughts on the match
Arsenal's so-called second string have proved their quality before, and they produced a dazzling first 45 minutes.
Tomas Rosicky had already shot narrowly wide when Arsenal capped a stunning passage of passing play by taking the lead.
A succession of passes and flicks ended with Adebayor firing in a 15-yard shot that took a crucial deflection off Stelios to beat Jussi Jaaskelainen.
The rest of the opening half - apart from the closing minutes - was an Arsenal master-class in passing, movement and individual brilliance.
Baptista just failed to connect with Gael Clichy's cross, then shot wastefully wide from another inviting cross from Rosicky.
Bolton almost bounced back from being outclassed with an equaliser three minutes before half-time, Stelios hitting the bar from only eight yards out.
Battle was joined within seconds of the re-start, with Arsenal keeper Manuel Almunia saving well after Abou Diaby directed a header towards his own goal.
Stelios then frustrated Bolton by delaying and allowing Almunia to plunge at his feet, with Tal Ben Haim waiting unmarked in front of goal.
Arsenal captain Gilberto wasted the perfect chance to double Arsenal's advantage from the penalty spot after 62 minutes.
Referee Chris Foy correctly pointed to the spot when Ben Haim hauled down Baptista, but the normally reliable Gilberto hoisted his spot-kick well over the bar.
Bolton were trying desperately to push for an equaliser, but ran the risk of falling victim to a trademark Arsenal counter-attack.
And it almost proved to be the case five minutes from time when Adebayor raced clear and rounded Jaaskelainen, only to strike an upright.
But Bolton refused to give up and Arsenal paid the price for their generosity in the dying seconds of injury time.
Meite was unmarked to turn home Ivan Campo's header from close range after Arsenal failed to deal with a corner.
And Bolton almost completed the turnaround six minutes into extra time, when El-Hadji Diouf's cross was deflected on to his own post by Gilberto.
Arsenal remained a threat, and the erratic Baptista was off target when he should have rounded off fine work by Diaby.
And the Gunners were in front again after 108 minutes with a goal of the highest quality.
Substitute Jeremie Aliadiere's run carved out the opening for Ljungberg, who controlled before flashing a left-foot finish across Jaaskelainen.
Bolton lost Ben Haim for a second bookable offence, and then conceded a second penalty when Nicolas Anelka hauled down Adebayor with keeper Jaaskelainen stranded upfield after a corner.
Baptista blazed over in similar fashion to Gilberto, but there was no second reprieve for Bolton as Arsenal broke again for Adebayor to wrap up a dramatic tie.
Bolton boss Sam Allardyce:
"We are just disappointed that we did not pull off a miraculous victory.
"We weren't over-awed and always had the ability to hang in there, even though it was difficult at times.
"It was a great effort and commitment from the players and they were brilliant right through to extra time."
Arsenal boss Arsene Wenger:
"I think it was a fantastic cup tie and a fantastic performance from my team and we were outstanding.
"It was frustrating to go to extra time, but it's a good mental test.
"You concede with one minute to go and it's a good challenge for such young players to see how they respond - and we found resources to win it."
Bolton: Jaaskelainen, Campo, Meite, Ben Haim, Gardner (Pedersen 84), Giannakopoulos (Vaz Te 74), Teymourian (Tal 84), Speed, Nolan, Diouf, Anelka.
Subs Not Used: Walker, Fojut.
Sent Off: Ben Haim (117).
Booked: Ben Haim, Campo, Anelka.
Goals: Meite 90.
Arsenal: Almunia, Diaby, Toure, Djourou (Hoyte 92), Clichy, Hleb (Ljungberg 78), Silva, Denilson, Rosicky (Aliadiere 90), Adebayor, Julio Baptista.
Subs Not Used: Poom, Walcott.
Goals: Adebayor 13, Ljungberg 108, Adebayor 120.
Ref: C Foy (Merseyside).