Match ends, Brentford 1, Fulham 2.
Fulham beat Brentford in the Championship play-off final to secure an immediate return to the Premier League thanks to two extra-time goals from Joe Bryan.
The left-back caught Bees goalkeeper David Raya off guard with a free-kick from 40 yards in the 105th minute of the game at Wembley, with the Spaniard expecting a cross and then unable to scamper back and save Bryan's skidding low effort.
With the Bees pouring forward in search of an equaliser, Bryan burst forward and combined with Aleksandar Mitrovic before stabbing past Raya to make the game safe with three minutes remaining.
Henrik Dalsgaard pulled a goal back with a header from eight yards out in the fourth minute of added time, but it was too late for the Bees to spark a comeback.
The goals from Bryan were two rare moments of quality and quick-thinking in an otherwise cagey encounter between the two west London rivals, which finished goalless after 90 minutes.
- Relive Fulham's Championship play-off final win as it happened
- Fulham 'will learn' from 2018-19 errors
- Football Daily podcast: Fulham are promoted to the Premier League
Scott Parker celebrated wildly at full-time having led Fulham to promotion in his first full season as manager.
The 39-year-old was unable to save them from top-flight relegation after replacing Claudio Ranieri in February 2019, but can now prepare them for a 15th campaign in the Premier League.
Parker was unable to call on top scorer Mitrovic, returning from injury, from the start - but the Serbia international showed composure to tee-up Bryan for the crucial second goal with a slick one-two inside the box.
Ivan Cavaleiro almost made it 3-0 for Fulham in the closing stages when he was denied by Raya, and Dalsgaard's header came far too late to set up a Bees comeback.
Bryan had only scored once this season for the Whites heading into the game, but the 26-year-old ended up being the hero as his goals secured a promotion which could be worth £135m over the next three years.
Fulham show resolve to win
Parker has transformed Fulham's fortunes following their relegation last summer - as the Whites suffered 26 defeats and conceded 81 goals over the course of the 2018-19 league campaign.
They were among the favourites to go straight back up pre-season, but were unable to overhaul Leeds United and West Bromwich Albion as they stuttered at certain points of a campaign halted for three months by the coronavirus crisis.
Mitrovic missed both legs of their semi-final win against Cardiff through injury, and the Championship's golden boot winner was only fit enough for a place on the bench.
Despite the 25-year-old's absence, Parker's side had the better chances in a low-key first 90 minutes, with Raya twice saving from Josh Onomah in the first half.
However, midfielder Harrison Reed was fortunate to only see yellow for a crunching challenge on Christian Norgaard before the break.
Neeskens Kebano sent a free-kick into the side-netting soon after the restart and Bobby Decordova-Reid stabbed an effort wide from 12 yards out.
Meanwhile, Marek Rodak's only save of note came in the second half when the Slovakian tipped over a fierce effort from Brentford's Ollie Watkins.
Bees create unwanted history
Brentford head coach Thomas Frank will be left wondering where things went wrong, as his side spurned another chance to win promotion to the top flight.
Brentford needed four points from their final two games of the season against Stoke and Barnsley to go up automatically but lost both matches to finish third.
His prolific forward line of Said Benrahma, Bryan Mbeumo and Watkins had netted 59 goals between them in 2019-20, but were unable to produce clear-cut openings against a stubborn Fulham backline.
The Bees have assembled a young and attacking squad via a recruitment model largely based on analytics, but Frank will now face a battle to hang on to Watkins and Benrahma, who are likely be the subject of transfer interest from Premier League clubs.
It is Brentford's fourth play-off final defeat, and they have now failed to win promotion in nine play-off campaigns - setting a new English Football League record.
Their exile from the top flight will stretch into a 74th year as the Bees move into their new 17,500-capacity stadium at Lionel Road ahead of the start of next season.
'Struggling psychologically a year ago'
Former England midfielder Parker said he was proud that players involved in last season's disastrous Premier League campaign had bounced back.
"We've done what we've done tonight, but there's still improvement, and that's what makes me so proud and happy," he added.
"For all of the good players and everything you see, what makes me so happy I see a group of players who only a year ago were struggling psychologically, didn't have a mindset or mentality.
"I've driven this team every single day and what makes me proud is I stood on the touchline tonight and seen a team that represents what I've been saying over the last 12 months."
Brentford boss Frank was also full of praise for his side.
"First I would like to say congratulations to Fulham, Scott Parker, his coaching staff and everyone involved," the Dane said.
"Of course it's tough when you lose a final like this in a very tight game but I'm extremely proud of my players.
"We have gone from a mid-table club to a team who, in the league table, was the third-best team.
"We are very fine margins away from the Premier League, which is an incredible achievement from us."
- 3HenrySubstituted forFosu-Henryat 105'minutes
- 8JensenBooked at 88minsSubstituted forDervisogluat 105+1'minutes
- 6NørgaardBooked at 103mins
- 14DasilvaSubstituted forCanósat 83'minutes
- 19MbeumoSubstituted forMarcondesat 61'minutes
- 16Valencia Castillo
- 12RodákBooked at 120mins
- 4OdoiSubstituted forChristieat 110'minutes
- 3HectorBooked at 98mins
- 21ReedBooked at 29mins
- 10CairneyBooked at 67mins
- 7KebanoSubstituted forKnockaertat 81'minutesBooked at 102mins
- 25OnomahSubstituted forLe Marchandat 110'minutes
- 14De Cordova-ReidSubstituted forMitrovicat 90+2'minutesBooked at 104mins
- 47KamaraSubstituted forCavaleiroat 105+1'minutesBooked at 120mins
- 20Le Marchand
- 43S Sessegnon
- Martin Atkinson
- Shots on Target
Second Half Extra Time ends, Brentford 1, Fulham 2.
Marek Rodák (Fulham) is shown the yellow card.
Goal! Brentford 1, Fulham 2. Henrik Dalsgaard (Brentford) header from the centre of the box to the bottom left corner. Assisted by Christian Nørgaard with a headed pass.
Offside, Fulham. Michael Hector tries a through ball, but Ivan Cavaleiro is caught offside.
Aleksandar Mitrovic (Fulham) wins a free kick in the defensive half.
Foul by Ethan Pinnock (Brentford).
Attempt saved. Ivan Cavaleiro (Fulham) left footed shot from the centre of the box is saved in the bottom left corner. Assisted by Anthony Knockaert.
Ivan Cavaleiro (Fulham) is shown the yellow card for a bad foul.
Foul by Ivan Cavaleiro (Fulham).
Tariqe Fosu-Henry (Brentford) wins a free kick on the right wing.
Attempt missed. Saïd Benrahma (Brentford) right footed shot from outside the box is too high.
Attempt missed. Henrik Dalsgaard (Brentford) header from the right side of the six yard box is high and wide to the right. Assisted by Sergi Canós with a cross.
Goal! Brentford 0, Fulham 2. Joe Bryan (Fulham) right footed shot from the centre of the box to the centre of the goal. Assisted by Aleksandar Mitrovic.
Attempt saved. Ethan Pinnock (Brentford) left footed shot from outside the box is saved in the top centre of the goal.
Attempt blocked. Saïd Benrahma (Brentford) right footed shot from outside the box is blocked.
Foul by Cyrus Christie (Fulham).
Sergi Canós (Brentford) wins a free kick in the attacking half.
Substitution, Fulham. Cyrus Christie replaces Denis Odoi.
Substitution, Fulham. Maxime Le Marchand replaces Josh Onomah.
- From gamer to professional racer: How did simulation lead to the track?
- The UK's most unusual festivals: From Cheese Rolling to Gravy Wrestling Championships