Shaleum Logan headed the visitors into an early lead before Donaldson doubled the advantage. Paul Parry’s penalty gave Preston brief hope but it was not enough to prevent a first defeat in four games as Donaldson struck again after the break.
The Bees frontman was denied by North End goalkeeper Thorsten Stuckmann after nine minutes only for Harry Forrester to cross the rebound to the far post for Logan to power home.
But Donaldson did get his name on the scoresheet from the penalty spot midway through the first half after he was hauled down by Daniel Devine.
Parry saw a strike come back off a post before he tucked away a 42nd-minute spot-kick of his own after Harlee Dean felled Graham Cummins to get the home side back in the game.
But Donaldson pounced to restore Brentford’s two-goal cushion when he headed home Jason Bidwell’s 53rd-minute free-kick.