Leyton Orient lead twice without quite finding the killer punch which would have lifted them into second place.
After the first half they were galvanised by two goals from super sub Jabo Ibehre.
Bristol Rovers had two penalties, missing one, and needed a win themselves to gain a foothold among the play-off pack. Their penalty miss came just before the break when Junior Agogo's casual shot was saved.
Agogo had scored only once in 13 games yet early on when he sprang clear of the offside trap. A shrewd through ball from Sammy Igoe, on loan from Millwall, saw him draw clear of Gaby Zakauni, but he still had work to do to score.
Glyn Garner came off his line to block his shot but Agogo, following up at full pace, knocked the rebound past him.
They had another close encounter with the penalty and this time Garner came out on top, saving at his left-hand post from the first spot-kick.
That came when Justin Miller, who had earlier picked up a yellow card, swept Stuart Campbell's legs away just inside the left angle of the box. It was a clear penalty, so clear in fact that Orient didn't protest.
Miller escaped a second yellow card but the not the wrath of his manager Martin Ling, who sent on Adam Tann in his place for the second half.
Orient's attack looked tired but all this changed with the arrival of Ibehre for Lee Steele. With almost his first touch Ibehre brought the O's back into the game getting on the end of a free-kick and knocking it home off the crossbar.
Nine minutes later he was on the scoresheet again, this time hooking in a ten-yard shot with the keeper off the line.
This sparked a quick burst of scoring. First Craig Disley brought Rovers level and then an angled header from Michael Simpson put the London side back in front.
Rovers' second penalty came 20 minutes from the end after a foul by Leyton Orient captain John Mackie.
This one was thumped straight past the keeper by Richard Walker for his 15th goal of the season.