Oliver Norburn's stunning late strike earned struggling Bristol Rovers a point at high-flying Cheltenham.
After John-Joe O'Toole forced Robins keeper Scott Brown into a smart save, the hosts went ahead when Shaun Harrad drilled home from 12 yards out.
Steve Mildenhall then saved from Jermaine McGlashan to prevent the hosts from extending their lead.
And with seconds remaining, Norburn's fantastic 35-yard effort gave his side a share of the spoils.
Rovers are now unbeaten in four league matches, and lie three points clear of the relegation zone, while Cheltenham remain in third place, 10 points behind League Two leaders Port Vale.
VIEWS FROM THE DRESSING ROOM
Cheltenham Town boss Mark Yates told BBC Radio Gloucestershire:
"Credit to them [Bristol Rovers], they played really well, made it tough for us, worked hard and showed spirit - but for me that game was won.
"We were over the four minutes - we were shouting 'there's four minutes gone'.
But it's poor defending. Everyone was behind the ball almost and he's hit it from 35 yards. They deserved a point, but they shouldn't have got it. We should have won the game, we should have seen it out. Obviously I'm disappointed."
"Right now I must be the most dejected man in the world, conceding in the 94th minute, but it could be a good point."
Bristol Rovers boss John Ward told BBC Radio Bristol:
"I know I'm biased, because I am, but we didn't deserve to lose the game.
"We deserved something out of it because we've been positive - we've tried to take the game to a team that I'm pretty sure is going to get automatic promotion.
"They're very strong and they've recruited extremely well in January so for us to come and get a point us a great result."
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +4:17 Goal scored
Goal! - Oliver Norburn - Cheltenham 1 - 1 Bristol R Oliver Norburn scores a goal. Cheltenham 1-1 Bristol Rovers.90:00 +2:08
John-Joe O'Toole crosses the ball, clearance made by Russell Penn. Corner taken left-footed by Fabian Broghammer, Byron Harrison manages to make a clearance.90:00 +1:10
Direct free kick taken by Sido Jombati.90:00 +1:10 Booking
Booking Michael Smith booked.90:00 +0:56
Fabian Broghammer sends in a cross, clearance made by Steve Elliott. Michael Smith concedes a free kick for a foul on Darren Carter.89:40
Keith Lowe challenges Tom Hitchcock unfairly and gives away a free kick. Lee Brown takes the direct free kick.88:45 Substitution
Substitution Kaid Mohamed goes off and Sam Deering comes on.87:56
Tom Hitchcock takes a shot. Scott Brown makes a save.87:28
The ball is swung over by Keith Lowe, save by Steve Mildenhall.85:29
Corner taken by Kaid Mohamed from the left by-line, Header from close in by Keith Lowe misses to the right of the goal.84:48
Free kick awarded for a foul by Oliver Norburn on Kaid Mohamed. Michael Hector takes the direct free kick.83:31
Eliot Richards has an effort at goal from outside the box which goes wide left of the target.83:11
Foul by Byron Harrison on Lee Brown, free kick awarded. Steve Mildenhall takes the direct free kick.82:13
Free kick awarded for an unfair challenge on Russell Penn by John-Joe O'Toole. Free kick taken by Steve Elliott.81:53
Right-footed shot by Darren Carter went wide left of the goal.81:16
Free kick taken by Kaid Mohamed.81:16 Booking
Booking Tom Parkes booked for unsporting behaviour.81:01
Darren Carter fouled by Tom Parkes, the ref awards a free kick.79:16 Substitution
Substitution Paul Benson goes off and Byron Harrison comes on.
Corner from the left by-line taken by Oliver Norburn, clearance by Jason Taylor.77:36 Substitution
Substitution Tom Hitchcock joins the action as a substitute, replacing Joe Anyinsah.76:29
The offside flag is raised against Fabian Broghammer. Free kick taken by Scott Brown.74:20
Scott Brown restarts play with the free kick.74:20 Booking
Booking Ryan Brunt is cautioned.74:18
Ryan Brunt challenges Russell Penn unfairly and gives away a free kick.72:26 Substitution
Substitution Shaun Harrad goes off and Darren Carter comes on.70:39
John-Joe O'Toole takes a shot. Save by Scott Brown. Corner taken left-footed by Fabian Broghammer, clearance by Jason Taylor.69:04 Substitution
Substitution Seanan Clucas goes off and Eliot Richards comes on.68:45
Jermaine McGlashan produces a cross, save made by Steve Mildenhall.67:30
Oliver Norburn takes a shot. Blocked by Steve Elliott.65:25
Russell Penn fouled by Ryan Brunt, the ref awards a free kick. Keith Lowe takes the direct free kick.63:34
The ball is swung over by Keith Lowe, Michael Smith manages to make a clearance. John-Joe O'Toole has an effort at goal from outside the penalty box missing to the wide right of the goal.61:23
Keith Lowe fouled by Lee Brown, the ref awards a free kick. Free kick taken by Keith Lowe.59:29
Corner taken by Kaid Mohamed, clearance by Tom Parkes.54:42
Jermaine McGlashan takes a shot. Save made by Steve Mildenhall.52:53 Substitution
Substitution Fabian Broghammer joins the action as a substitute, replacing Danny Woodards.51:24
Russell Penn gives away a free kick for an unfair challenge on Ryan Brunt. Oliver Norburn takes the free kick.50:24
The ball is swung over by Lee Brown, clearance by Jason Taylor.47:51
Free kick awarded for a foul by Joe Anyinsah on Jermaine McGlashan. Sido Jombati takes the direct free kick.46:47
Jason Taylor produces a right-footed shot from 35 yards and went wide right of the net.45:32
Foul by Ryan Brunt on Steve Elliott, free kick awarded. Scott Brown takes the direct free kick.45:01
The second half begins.45:00 +3:07 Half time
Half Time The players leave the pitch at half time.45:00 +2:01 Goal scored
Goal! - Shaun Harrad - Cheltenham 1 - 0 Bristol R Shaun Harrad fires in a goal from inside the area to the bottom left corner of the goal. Cheltenham 1-0 Bristol Rovers.41:03
Keith Lowe fouled by John-Joe O'Toole, the ref awards a free kick. Scott Brown restarts play with the free kick.36:09
Steve Elliott fouled by Ryan Brunt, the ref awards a free kick. Sido Jombati takes the free kick.35:52
Keith Lowe delivers the ball, clearance by Lee Brown.34:08
Free kick awarded for a foul by Danny Woodards on Jermaine McGlashan. Keith Lowe takes the free kick.33:41
A cross is delivered by Jermaine McGlashan.32:07
Inswinging corner taken by Kaid Mohamed, Steve Mildenhall makes a save.31:03
Scott Brown takes the free kick.31:03 Booking
Booking Booking for Danny Woodards for unsporting behaviour.30:43
Danny Woodards challenges Keith Lowe unfairly and gives away a free kick.28:58
Unfair challenge on Jason Taylor by Seanan Clucas results in a free kick. Steve Elliott restarts play with the free kick.27:54
The offside flag is raised against Paul Benson. Free kick taken by Steve Mildenhall.26:20
Jason Taylor gives away a free kick for an unfair challenge on John-Joe O'Toole. John-Joe O'Toole takes the direct free kick.24:09
Paul Benson delivers the ball, Michael Smith makes a clearance. Inswinging corner taken right-footed by Kaid Mohamed from the left by-line, Steve Elliott takes a shot. Save made by Steve Mildenhall.23:53
Shot from 18 yards from Shaun Harrad. Save by Steve Mildenhall.22:57
Unfair challenge on Michael Hector by Ryan Brunt results in a free kick. Direct free kick taken by Steve Elliott.19:42
Tom Parkes gives away a free kick for an unfair challenge on Shaun Harrad. Keith Lowe delivers the ball from the free kick right-footed from left channel, blocked by Seanan Clucas.17:52
Free kick awarded for a foul by Jason Taylor on Lee Brown. Oliver Norburn takes the free kick.13:10
Kaid Mohamed gives away a free kick for an unfair challenge on Ryan Brunt. Direct free kick taken by John-Joe O'Toole.12:03
Shaun Harrad fouled by Seanan Clucas, the ref awards a free kick. Direct free kick taken by Steve Elliott.9:24
Lee Brown crosses the ball, Steve Elliott makes a clearance.6:03
Outswinging corner taken by Seanan Clucas from the right by-line played to the near post, Oliver Norburn takes a shot. Steve Elliott gets a block in.5:46
John-Joe O'Toole takes a shot. Save by Scott Brown.5:30
Centre by Michael Smith, Steve Elliott makes a clearance.3:15
Centre by Jermaine McGlashan, Headed effort from deep inside the area by Kaid Mohamed misses to the left of the goal.0:41
The ball is sent over by Lee Brown, Michael Hector manages to make a clearance.0:00
The match has kicked off.
Live data and text provided by our data suppliers