Brentford 1 Preston 0
Brentford sealed promotion to the Championship in front of a crowd of more than 10,000 at Griffin Park, where Alan Judge netted the winner with a first-half penalty.
Judge later missed a penalty but it mattered little as their victory and defeats for Leyton Orient and Rotherham ensured the Bees will play in the second tier for the first time in 21 years.
Brentford dominated large periods of the game and went ahead just before the half-hour mark when Judge scored from the spot after George Saville was tripped in the area by Bailey Wright.
There was no let-up from the home side after the interval, with Clayton Donaldon’s strike almost rebounding in off keeper Declan Rudd after hitting the post.
Saville then sent an effort over from 20 yards and Stuart Dallas just failed to connect with Donaldson’s left-wing cross as the Bees continued to push forward.
There was the occasional scare at the other end, where Chris Humphrey missed the target following a mistake by Jake Bidwell and Alan Browne headed wide.
But Brentford were by far the better team and were handed a chance to double their lead when the hapless Wright bundled Donaldson over in the box 10 minutes from time.
At the Ealing Road end where Marcello Trotta’s last-gasp penalty miss cost them promotion a year ago, Judge scooped his spot-kick over the bar after slipping.
This time, however, Brentford didn’t stumble at the finish line – they went up with three matches to spare.
Brentford (4-2-3-1): Button; McCormack, Tarkowski, Craig, Bidwell; Douglas, Saville (Diagouraga 86), Dallas (Grigg 84), Judge, Donaldson; Trotta (Reeves 76).
Subs not used: Lee, O’Connor, Adams, Yennaris.