Gilberto salvaged a point for Arsenal with an equaliser in the 90th minute.
Brazilian Gilberto equalised with his fourth goal of the season
The goal was reward for Arsenal's dominance in the second half after Kevin Nolan gave Bolton a 12th-minute lead with a beautifully executed chip.
Goalkeeper Jussi Jaaskelainen looked to have secured Bolton a first Premiership win at Highbury with a series of superb saves after the break.
But Gilberto slotted in Cesc Fabregas' cross before Ricardo Gardner cleared off the line from Thierry Henry.
The result was agony for Bolton, who would have moved above the Gunners into fifth with their first Premiership double over the Londoners.
Arsenal, meanwhile, wanted revenge for their FA Cup defeat by Sam Allardyce's men.
However, with a host of defenders injured, Gunners boss Arsene Wenger was forced to stick with an inexperienced backline of Mathieu Flamini, Johan Djourou, Phillipe Senderos and Sebastian Larsson.
They were exposed inside three minutes when Bruno N'Gotty was allowed a free header from Stelios' free-kick - but the defender saw his looping effort hit the bar.
The hosts were hardly more convincing going forward, although a rare flowing move ended with Jose Reyes falling theatrically in the box under a challenge from Tal Ben Haim.
Referee Howard Webb waved away the Spaniard's penalty appeal and Bolton had their revenge after 12 minutes when Arsenal again failed to clear their lines and Nolan took full advantage with a sweet finish.
Arsenal's discomfort increased on the half-hour mark when an awful two-footed challenge from Abdoulaye Faye ended Reyes' afternoon and the winger was replaced by Pires.
Wenger was clearly incensed, as were his team, and the rest of the half was memorable only for a series of vengeful tackles from both sides.
Flamini was the worst offender, launching himself at Gardner with a two-footed tackle which the Bolton man did well to hurdle.
But Arsenal rediscovered their poise after the break, with substitute Freddie Ljungberg adding experience to their midfield.
On 54 minutes, Emmanuel Adebayor broke free and rounded Jaaskelainen but his touch took him too wide and though he managed to find Pires, the Frenchman blasted over.
Shortly after, Pires saw his clever free-kick brilliantly stopped by Jaaskelainen and the Finn later produced a flying save from the midfielder's curling effort.
Gardner cleared Johan Djourou's effort off the line and Jaaskelainen somehow got his hand to Henry's delicate shot.
But Bolton's defence eventually gave way when Gilberto got to Fabregas' dangerous cross before Ben Haim and finally beat the unlucky Jaaskelainen.
But it could have been even worse for Bolton had Gardner not been in the right place again, this time heading off the line from Henry's last-gasp effort.
Arsenal boss Arsene Wenger:
"It would have been a shame to lose because I thought we could have won by three or four goals.
"I feel the referee should have made the game respected more. There was a lot of time-wasting.
"Every goal-kick and throw-in, you have to talk to the ref to get it taken. Every substitution, the players are walking off the pitch. It's a problem."
Bolton boss Sam Allardyce:
"We're absolutely gutted and rightly so because this game was there for the taking.
"Unfortunately when the pressure came, which it was always bound to do, we failed to cope.
"Our tremendous performance warranted three points, but it's our own fault for throwing away golden chances to score before their equaliser."
Arsenal: Lehmann, Flamini, Djourou, Senderos,
Larsson (Bergkamp 73), Fabregas, Diaby (Ljungberg 45), Silva,
Reyes (Pires 32), Adebayor, Henry.
Subs Not Used: Almunia, Song Billong.
Booked: Silva, Fabregas.
Goals: Silva 90.
Bolton: Jaaskelainen, O'Brien, Ben Haim, N'Gotty, Gardner,
Nolan, Faye (Hunt 75), Nakata, Giannakopoulos (Okocha 90),
Davies, Jansen (Vaz Te 82).
Subs Not Used: Walker, Borgetti.
Booked: Faye, Davies.
Goals: Nolan 12.
Ref: H Webb (S Yorkshire).