Gilberto's 90th-minute volley earned Arsenal a crucial point and rescued their hopes of claiming England's fourth Champions League slot.
The Brazilian's finish from a Cesc Fabregas cross kept the Gunners in fifth place, three points behind Tottenham. Bolton are two points further back with a game in hand.
It really was a game of two halves. Bolton squeezed the life out of Arsenal in the first and deservedly led through Kevin Nolan. In the second, they needed heroics from goalkeeper Jussi Jaaskelainen to keep them in the match.
Arsene Wenger will be happier with his point than Sam Allardyce, given the injury crisis that has wrecked the Gunners' defence.
Lauren is out for the rest of the season with knee trouble. Ashley Cole has yet to recover from his thigh injury and Sol Campbell has an ankle knock. Stand-ins Kerrea Gilbert, Gael Clichy and Pascal Cygan are sidelined too. Kolo Toure has been away at the African Cup of Nations.
So Wenger had to field a make-shift back four again, with Philippe Senderos the only experienced defender. Young midfielders Mathieu Flamini and Seb Larsson filled in as full backs.
Bolton had beaten Arsenal twice this season, in the Premiership and the FA Cup. Their physical approach has rattled the Gunners and they offered more of the same in the first period, firing the ball into the box at every opportunity to test that back line.
They could have taken the lead in the first minute. Nolan met Matt Jansen's cross with a volley that Jens Lehmann tipped round for a corner. Bruno N'Gotty out-jumped the home defence for Stelios' kick and his header flashed off the bar.
Nolan punished them with a brilliant 12th-minute finish, a clever lob over Lehmann after Senderos failed to clear under pressure from Jansen.
The Gunners could find no rhythm in midfield - the hard-tackling Abdoulaye Faye saw to that.
Nolan burst forward again onto a Jansen pass, but Lehmann drove him too wide to threaten. It was the third time he had popped up untracked in the Arsenal box.
Thierry Henry curled a free-kick against N'Gotty and Gilberto headed wide as Arsenal tried to press.
But Bolton presented a solid block in front of Jaaskelainen and Henry and Emmanuel Adebayor found their space squeezed tight and their supply restricted.
Freddie Ljungberg replaced Abou Diaby at half-time, with Fabregas moving to become a greater influence in the centre of midfield.
The move forced Bolton to drop deeper and deeper, handing the hosts the initiative.
Fabregas and Robert Pires fired off target as Arsenal built up momentum.
Jaaskelainen pulled off a brilliant save to turn round Pires' curling 56th-minute free-kick, Fabregas shot over again and Ricardo Gardner blocked from Adebayor, after Henry and Pires created the chance.
Dennis Bergkamp replaced Larsson for the last 17 minutes as the Gunners poured forward. Jaaskelainen made two more saves to deny Pires and then thwarted Fabregas at the near post.
It was all Arsenal in the closing stages - N'Gotty blocked Johan Djourou's header, Jaaskelainen held Gilberto's strike, then scrambled across goal to deny Henry.
Bolton were inching towards a memorable victory. Then Gilberto struck.
Gardner even headed off the line to deny the Gunners a stoppage-time winner. That would have been hard on Bolton after their first-half performance.