Match ends, Brentford 3, Swansea City 1.
Brentford overturned a first-leg deficit to beat Swansea City 3-2 on aggregate and book their spot in the Championship play-off final at Wembley.
Ollie Watkins' composed finish in the 11th minute levelled the semi-final on aggregate, and a header from Emiliano Marcondes put the Bees ahead in the tie four minutes later.
Bryan Mbeumo volleyed in a cross from Rico Henry in the first minute of the second half to make it 3-0 on the night and give Brentford a two-goal cushion.
Rhian Brewster dragged Swansea back into the contest with 12 minutes remaining, capitalising on a poor clearance from Pontus Jansson and chipping home goalkeeper David Raya, but the visitors were unable to find a second goal which would have forced extra-time.
Victory meant the Bees signed off at Griffin Park, their home of 116 years, in style before their move to a new stadium this summer.
The west Londoners, who are looking to end their 73-year exile from the top flight, will face either Cardiff City or neighbours Fulham at Wembley on Tuesday, 4 August.
Fulham will take a 2-0 lead into the second leg of their semi-final tie on Thursday (19:45 BST).
- Bees enjoy 'magical' Griffin Park farewell
- Relive how Brentford reached the Championship play-off final
- 'It feels like a home' - Brentford fans say goodbye to Griffin Park
Early Bees blitz turns tie around
Andre Ayew had given Swansea a 1-0 lead at the end of Sunday's first leg, and Brentford head coach Thomas Frank promised his side would attack from the off in a bid to reach the final.
Marcondes tested visiting goalkeeper Erwin Mulder in the fourth minute with a swerving shot from outside the box, and the Bees went ahead following a swift counter-attack from a Swansea corner.
A defence-splitting pass from Mathias Jensen put Watkins through on goal, and the forward made no mistake to net his 26th goal of the season.
The hosts swiftly doubled their lead when Said Benrahma picked out an unmarked Marcondes in the box to guide in a header from 12 yards.
Bees keeper David Raya preserved his side's advantage with a low save from Conor Gallagher's side-footed effort and Benrahma almost made it 3-0 on the night with a shot which hit the inside of the post.
Swansea fall short
Swansea boss Steve Cooper made a double change at the break in a bid to get back into the match, but his side fell further behind within a minute of the restart when Frenchman Mbeumo notched his first goal in eight games with a clinical volley.
Wing-back Connor Roberts cut in from the right and saw his left-footed effort tipped over by Raya as the visitors sought a way back into the match.
Brewster rarely had a sight at goal but calmly lobbed Raya from just outside the box after centre-back Jansson made a mess of an attempted back-heel. It was the striker's 11th goal since moving to Swansea on loan from Liverpool in January.
Swansea continued to press forward and six minutes of stoppage time brought further drama as Brewster tested Raya from 25 yards, while Roberts and Bees boss Frank were both booked after a clash on the touchline.
Benrahma almost finished the match off with a flourish but saw a curling effort go narrowly over the bar.
Swansea were among the early pace-setters this season, but fell out of the play-off places in January and only just clawed their way back into the top six on a remarkable final day of the regular campaign.
Despite their play-off exit, Cooper, who led England to the Under-17 World Cup in 2017, will have positive experiences to build on following his first year of senior club management.
Brentford move closer to defining promotion
Brentford had propelled themselves into contention for automatic promotion following a seven-match winning run after lockdown, but missed out on a place in the top two after defeats in their final two games of the season.
They were the top scorers in the Championship this season and were back to their attacking best during a stirring first hour, before Brewster's goal tested their defensive resolve in the closing stages.
The Bees have never won promotion in their eight previous play-off campaigns and have lost three finals, the most recent of which came in the third tier in 2013.
If they end that run, they will move into the Brentford Community Stadium, a 17,500-capacity ground, as a Premier League club.
Brentford head coach Thomas Frank: "We talked about not leaving the pitch without getting to the final. The message was we needed to start faster than we ever started before. And we did that.
"At 3-0 we should have been through to the final, but we made a mistake we shouldn't make. But after that they weren't really dangerous and it was nice to show the defensive side of our game.
"I am pleased and happy. It is a very nice moment and we have achieved something good. But we want to achieve something big and we are going to the final to win."
Swansea head coach Steve Cooper: "We gave ourselves too much to do. We just didn't play well enough in the first half. We weren't aggressive with our play, both with and without the ball.
"We ended up being too deep, leaving too much space around our midfield line and our defensive line and allowed them opportunities to attack.
"The goals are obviously really disappointing. The first one is from our set-piece and the second and third ones, although they are really good finishes, you cannot leave people unmarked in the box like that.
"We didn't give up and we went right until the very end but we gave ourselves too much to do."
- 22DalsgaardBooked at 9mins
- 17MarcondesSubstituted forDasilvaat 77'minutes
- 19MbeumoSubstituted forCanósat 76'minutes
- 10BenrahmaBooked at 83mins
- 16Valencia Castillo
- 26NaughtonSubstituted forCelinaat 77'minutes
- 5van der HoornSubstituted forCabangoat 45'minutesBooked at 54mins
- 23RobertsBooked at 90mins
- 6FultonSubstituted forDhandaat 45'minutesBooked at 75mins
- 22A AyewBooked at 82mins
- Chris Kavanagh
- Shots on Target
Second Half ends, Brentford 3, Swansea City 1.
Attempt blocked. Bersant Celina (Swansea City) right footed shot from the left side of the box is blocked. Assisted by André Ayew.
Attempt blocked. Josh Dasilva (Brentford) left footed shot from outside the box is blocked. Assisted by Saïd Benrahma.
Corner, Swansea City. Conceded by Ethan Pinnock.
Attempt missed. Saïd Benrahma (Brentford) right footed shot from outside the box is just a bit too high.
Corner, Brentford. Conceded by Ben Cabango.
Connor Roberts (Swansea City) is shown the yellow card.
Attempt saved. Rhian Brewster (Swansea City) right footed shot from outside the box is saved in the centre of the goal. Assisted by Connor Roberts.
Attempt saved. Sergi Canós (Brentford) left footed shot from the right side of the box is saved in the bottom right corner. Assisted by Josh Dasilva.
Foul by Bersant Celina (Swansea City).
Henrik Dalsgaard (Brentford) wins a free kick in the defensive half.
Yan Dhanda (Swansea City) wins a free kick on the right wing.
Foul by Mathias Jensen (Brentford).
Saïd Benrahma (Brentford) hits the bar with a right footed shot from the centre of the box. Assisted by Ollie Watkins.
Saïd Benrahma (Brentford) is shown the yellow card.
André Ayew (Swansea City) wins a free kick on the right wing.
Foul by Rico Henry (Brentford).
André Ayew (Swansea City) is shown the yellow card.
Hand ball by Conor Gallagher (Swansea City).
- Superstitions in sport: Do strange rituals make a difference?
- BBC Food's essential minerals: Which ones could you be missing out on?