Two goals from Sullay Kaikai in the final 10 minutes rescued a point for the Bees – his second equaliser coming in injury time.
On as a substitute for Lasse Vibe just past the hour, Kaikai first netted with a superb dipping strike from the corner of the penalty area to cancel out a first-half penalty from Peter Whittingham – the ball finding the net via the underside of the crossbar.
That 83rd-minute goal looked to have counted for nothing when Cardiff striker Kenny Zohore held off John Egan in a race for a long ball and hammered past keeper Dan Bentley with a minute left.
But Egan made amends moments later with a dart down to the right-hand byline and centre for Kaikai to glance home a deft header across keeper Brian Murphy and into the far corner of the net.
It was a deserved point for the Bees, who had much the better of the second half after a tame first 45 minutes.
Brentford started reasonably brightly, with Romaine Sawyers having a left-footer turned aside by Murphy, who also tipped Scott Hogan’s header over the bar.
But the initial optimism was dulled with a soft penalty conceded when Andreas Bjelland manhandled Sean Morrison as the pair contested a high ball.
Whittingham made no mistake, drilling his spot-kick down the centre.
Ryan Woods missed a glorious chance to draw the Bees level at the start of the second half with a shot too close to Murphy.
Egan also thought he had scored with a perfect left foot strike from the edge of the area that Murphy did superbly to keep out with an instinctive right arm.
But that turned out to be a mere prelude to a thrilling finale.
Brentford: Bentley; Egan, Dean, Bjelland Hofmann 77); Woods; Colin, Sawyers (McEachran 63), Yennaris, Field; Vibe (Kaikai 63), Hogan.
Subs not used: Bonham, Saunders, Kerschbaumer, Barbet.
This post was last modified on 26/12/2016