A trio of stunning strikes enabled Brentford to extend their unbeaten Sky Bet League One run to 19 games with a 3-1 win away to Crewe Alexandra.
Alan Judge smashed home from 20 yards early on and then from even further out to make it two after the break.
Adam Forshaw went even better with a 35 yard strike just past the hour mark and although Crewe pulled one back, the result was never in doubt.
Brentford went ahead with their first shot on goal, nine minutes in.
The move started on the left with Jonathan Douglas bursting forward and involved George Saville and Marcello Trotta before Alan McCormack’s cross was half cleared, the ball dropped to Judge and he smashed an unstoppable shot in to the top corner from 20 yards.
That set The Bees up for a first half performance to savour.
They had started well before the goal but took complete control after it.
The Bees dominated possession and Crewe were chasing shadows for most of the first period.
Brentford were patient when necessary, hardly wasting a pass or playing a speculative ball, and they probed for openings.
Crewe had more of the match after the break but Brentford still had control and the end result could have been more comfortable.
Brentford sought goals from start to finish – Saville had a shot blocked soon after the first goal and when Trotta couldn’t convert a Judge cross, the midfield player then pulled an effort wide.
Trotta fired just wide himself soon after picking up a Donaldson lay-off.
Crewe were not in the game for the first 30 minutes, playing too many hopeful balls forward and unable to play around Brentford’s relentless pressing.
Brentford’s only concern would be the lack of clear cut chances in the first half hour but David Button’s first touch of note was to save a deflected Mathias Pogba shot 32 minutes in.
Pogba had a shot blocked soon after and Harlee Dean had to make an important tackle to deny Anthony Grant but that was a rare and solitary bright spot for Crewe in the first period.
Brentford should really have been out of sight by the break.
A Judge shot deflected wide after fine work by Forshaw and when Crewe failed to clear their lines, a Jake Bidwell cross dropped to Donaldson eight yards out, the striker spun and, admittedly off-balance, fired over when he should have scored.
After more nice play, Trotta had a shot blocked and Crewe goalkeeper Ben Garratt rushed out to block Judge’s follow-up.
It only took The Bees seven minutes of the second half to get the second goal their pressure had deserved and Judge again delivered.
This time he spun 25 yards from goal and fired an unstoppable shot that dipped and flew past Garratt.
And by the hour mark, the game was over.
Forshaw picked up a pass from Trotta and decided anything Judge could do, he could surpass.
The midfield player let fly from 35 yards and the ball whistled past Garratt in to the top corner.
Crewe posed more attacking threat in the early stages of the second half than they had done in the whole of the first.
Button saved a low Chuks Aneke shot after McCormack had given the ball away seconds before Judge’s strike and between Brentford’s second and third goals, George Evans sliced a shot wide.
Matt Tootle had a shot defected wide for a corner and when the ball came in, Aneke’s deflected header was cleared off the line by McCormack.
Brentford broke quickly and an audacious touch from Forshaw set Trotta away, he chose to shoot from 25 yards with Judge and Donaldson well positioned and fired well wide.
Button made a superb save from Harry Davis when a corner dropped loose but was helpless when Crewe scored with 20 minutes remaining.
A free kick was chipped in to the box and referee Tim Robison, a replacement for Graham Salisbury, adjudged Donaldson’s handball was deliberate when the ball appeared to roll down his arm.
Aneke stroked the spot kick home to reduce the deficit.
The game stretched as Crewe chased another goal to give them hope.
Button saved a low Evans shot and Pogba fired over but Brentford still had control.
A low shot from substitute Will Grigg was deflected wide and from the resulting corner, Garratt got down to save a low Forshaw effort and then recovered to prevent Donaldson putting in the rebound from close range.
Tony Craig missed a great chance when he headed a Judge cross wide from close range and Bidwell fired over.
Substitute Billy Waters should have pulled one back but he failed to convert a Pogba cross and Judge tried to complete his hat-trick from 40 yards only to see it sail wide.
Garratt got down well to save a deflected Saville shot and the keeper denied Donaldson twice from the resulting corner.
Stuart Dallas had a late shot blocked as Brentford sought a fourth but did not need it to secure their 16th win in 19 games.
Crewe Alexandra: Garratt; Tootle, Davis, Ellis, Guthrie; Pogba, Osman (sub Moore 77 mins), Evans, Grant, Inman (sub Waters 87 mins); Aneke
Subs (not used): Phillips, Mellor, Dugdale, Nolan, Oliver
Bookings: Osman (48 mins)
Brentford: Button; McCormack, Dean, Craig, Bidwell; Forshaw (sub Reeves 83 mins), Douglas, Saville; Donaldson, Trotta (sub Grigg 74 mins), Judge (sub Dallas 90 mins)
Subs (not used): Lee, Yennaris, Tarkowski, O’Connor
Bookings: McCormack (45 mins) (fifth of season), Judge (77 mins)
Attendance: 4,821 (641 Bees fans)
By Chris Wickham