Jacob Davenport was the hero as 10-man Rovers produced a heroic performance to earn a deserved point against play-off chasing Brentford.
The substitute timed his first Rovers goal perfectly, sneaking a shot in with only two minutes of time remaining to extend the unbeaten run to seven games.
It was a backs-to-the-wall second half for Rovers after Darragh Lenihan was shown a straight red card for taking down Ivan Toney in the box with only 36 minutes on the clock.
Toney drew level with Sky Bet Championship top goalscorer Adam Armstrong by slotting home from 12 yards to level up after Joe Rothwell's outstanding solo goal put Rovers ahead.
Once Sergi Canos' put Brentford ahead midway through the second half, you might have thought that Rovers would go under, but Tony Mowbray's men kept themselves in with a chance, which they took, to earn a superb point on the road.
The boss made four changes to his team for our first ever trip to the Brentford Community Stadium, with Daniel Ayala, Amari'i Bell, Lewis Holtby and Ben Brereton dropping out.
The former three were available on the bench, but injury kept Brereton at home and watching on on iFollow Rovers.
Coming into the side were the returning Scott Wharton, Barry Douglas, Tom Trybull and Joe Rothwell.
Rovers began well, and Rothwell saw his strike deflect just past ex-Rovers goalkeeper David Raya's right-hand post in the opening couple of minutes after Harvey Elliott's strike was blocked.
Rovers lost Wharton early on due to a calf injury, but Rothwell brightened the mood just a couple of minutes later through Rothwell's wonderful solo run and finish.
The playmaker skipped past Sergi Canos, glided in-between Ivan Toney and Mathias Jensen, and curled a delightful effort that flew to the left of Raya and in.
The hosts went in search of a response, with a fine corner routine resulting in Marcus Forss sweeping wide of Thomas Kaminski's left-hand post at the mid-point of the first half.
But, with under 10 minutes of the half remaining, the turning point came, and it went in Brentford's favour.
A collision in the box saw Lenihan given a straight red card after a coming together with Toney, and the in form Brentford man stepped up to send Thomas Kaminski the wrong way and equalise for the Bees.
A man light and level, Mowbray made another alteration to their team, with Trybull sacrificed for John Buckley. With Lenihan's vacant spot in the heart of the backline and with no available central defender left on the bench, Ryan Nyambe slotted in alongside Ayala, with Buckley moving to right back.
Rovers made it into the break and Mowbray made another shuffle of the pack, this time it was Bell coming on to replace Douglas.
Attempting to stodge things up and make it tough for the hosts, Brentford substitute Emiliano Marcondes saw his dipping strike fly past the post.
Rovers were keeping Thomas Frank's at bay until the hour mark, when Canos' swirling effort put the home side in command. Rico Henry's overlap split Buckley and Gallagher, and Canos cut inside to unleash a strike that flew past Kaminski and into the top corner.
Hunting down a third, Josh Dasilva smashed wide twice in quick succession as Rovers restricted their hosts to pot shots from range, with Bryan Mbeumo next to try his like as the clock ticked into the final 15 minutes.
And then the moment came for Rovers, whose game management was outstanding throughout the second half.
Did Brentford boss possession? Yes. Did the Bees look the most likely team to score? Yes. But Rovers kept themselves in with an opportunity to take something home with them, and it came through substitute Davenport with just two minutes remaining.
You always felt there would be one chance for Rovers to nick something from the game, and it was Davenport who popped up with his first ever goal in Rovers colours. Collecting the ball in the box, he showed composure to wait for the space to arrive before flicking beyond Raya and in to spark pandemonium on and off the pitch.
There was still five minutes of added time for Rovers to negotiate, and they did it perfectly to earn a deserved point at a difficult place to come when you're playing with the full quota of players.
Brentford: Raya, Dalsgaard (c), Jansson, Pinnock, Henry (Thompson, 81), Janelt (Marcondes, 46), Dasilva (Ghoddos, 81), Jensen, Canos (Fosu, 76), Forss (Mbeumo, 71), Toney.
Unused substitutes: Daniels, Sorensen, Pressley, Stevens.
Goals: Toney pen, 37, Canos, 61
Booked: Forss, 6, Janelt, 32, Thompson, 82.
Rovers: Kaminski, Nyambe, Lenihan (c), Wharton (Ayala, 16), Douglas (Bell, 46), Trybull (Buckley, 38), Johnson, Rothwell (Davenport, 63), Gallagher, Armstrong (Dolan, 63), Elliott.
Unused substitutes: Pears, Downing, Holtby, Chapman.
Goals: Rothwell, 18, Davenport, 88
Booked: Douglas, 11, Lenihan, 28, Rothwell, 49, Johnson, 57, Kaminski, 90.
Sent off: Lenihan, 36
Referee: Oliver Langford.