He converted the penalty he earned when he was brought down in the box by Bees keeper Daniel Bentley with just 14 minutes gone.
And his flicked header at the near post from David Cotterill’s free-kick was powered home at the far post by defender Ryan Shotton to stretch the Blues lead.
Bees top scorer Scott Hogan reduced the arrears with 13 minutes to go, but Gary Rowett’s side doggedly held out against wave after wave of attacks to claim the points.
Donaldson, who had not scored in the league since mid-September, was a constant thorn in the side for the visitors against his old side, who have now won just once in eight games.
But Brentford were the architects of their own downfall in a scrappy first half, with loose passes repeatedly gifting possession to a high-pressing Blues outfit.
The hosts did manage some efforts on goal and it was only some desperate last-ditch defending from Rowett’s side that kept the advantage intact.
Yoann Barbet’s blistering volley was blocked on the line by Ryan Shotton and wing back Maxime Colin flashed a first-time effort wide from a left-wing cross.
The breakthrough came when Romaine Sawyers lost the ball on half way and Robert Tesche slipped a through ball into the channel for Donaldson to chase.
Bentley claimed he pulled his hands away but referee Andrew Madley had no hesitation in pointing to the spot.
The Bees should have been level midway through the half when first Lasse Vibe forced a full-length save from Tomasz Kuszczak and then somehow contrived to miss with the goal gaping on the half-hour.
Top scorer Scott Hogan drilled in a low cross which by-passed the keeper but the Denmark international failed to find the net despite having two bites of the cherry, courtesy of some brave defending on the line from Jonathan Grounds.
Brentford pressed forward as the half wore on but twice saw long-range efforts charged down as Birmingham continued to put their bodies on the line.
Brentford emerged stronger after the break and Vibe stung keeper Kuszczak’s fingertips with an early drive.
Brentford’s best chance came just before the hour when Colin’s low drive was blocked by Kuszczak only as far as Hogan whose first time effort was brilliant palmed clear by the stopper.
Blues extended their lead minutes later which a training ground routine, with Shotton slotting home at the back post.
Brentford thought they had a lifeline on 70 minutes when Ryan Woods’ whipped cross was headed goalwards by Colin, only for the Blues stopper to tip onto the bar.
Brentford were given hope when Hogan nodded Josh Clarke’s chip over Kuszczak into the empty net, and thought they had levelled when Andreas Bjelland tapped home minutes later only for the linesman to rule it out for an offside.