Swansea City’s promotion hopes were ended as a strong finish was not enough to prevent Brentford booking their place in the Championship play-off final.
Steve Cooper’s side had entered the second leg with a 1-0 advantage from the first leg, but they trailed on aggregate inside 15 minutes in west London as Ollie Watkins and Emiliano Marcondes netted for the hosts.
And, when Bryan Mbuemo finished in the opening minute of the second half, it put the Bees firmly in control of the tie in the final game at Griffin Park.
Rhian Brewster's improvised finish gave the Swans hope and set up a nervy finish for the hosts, but it was Brentford who booked their place in Tuesday’s Wembley final.
While defeat will hurt, there can be no denying how strong a spell Cooper’s side have enjoyed since the season resumed, building up a head of steam that saw them surge into the play-offs.
And the head coach will hope to carry those clear signs of positive development into next season.
The two sides had made a change apiece from the first leg, Kyle Naughton came in for Ben Cabango for the Swans while Marcondes had the nod over Josh Dasilva for the home side.
Thomas Frank had vowed his side would make a fast start and Marcondes worked Erwin Mulder early on with a swerving strike that the Dutchman punched to safety.
The Swans then thought a clever flick had put Brewster in on goal, but the offside flag was quickly, and correctly, raised.
But it was Brentford who struck first. The Bees countered superbly from a Swansea free-kick and Watkins surged through to fire beyond Mulder and level the scores on aggregate.
It was not the start the Swans had wanted with their first-leg advantage wiped out, and it got worse when Marcondes doubled the lead and gave the Bees the aggregate advantage.
It was a fine delivery from Said Benrahma, and an unmarked Marcondes guided his header into the bottom corner.
The tie was in danger of getting away from the visitors, and Marc Guehi made a superb block as Mbuemo looked to tee up Watkins a few minutes later.
The Swans then crafted a great chance of their own, Jake Bidwell slid Conor Gallagher in and the midfielder’s shot was well saved by Raya.
Brentford went straight up the other end, with Benrahma beating Mulder but seeing his shot strike the post and cannon away to safety.
Bidwell then steered wide from a Connor Roberts’ cross but there was no denying the threat of the hosts and Mulder had to save after Watkins rolled away from Mike van der Hoorn.
Benrahma bent another effort wide before Mbuemo ran himself out of room after being unable to cut inside van der Hoorn.
The Swans went in at the break knowing they would have to score in the second half to have any chance of winning the tie.
Cooper made a couple of changes at the break, bringing Cabango on for van der Hoorn and Yan Dhanda for Jay Fulton.
But, as in the first half, they had a nightmare start. Rico Henry burst down the left and Mbuemo produced a fine left-footed finish to open up a two-goal cushion for Brentford before 60 seconds of the second period had elapsed.
Ethan Pinnock headed over from a fine set-piece delivery as the Swans desperately sought a way back into the tie.
The Swans needed a goal as the hour mark came and went, and Roberts nearly provided it as he cut inside from a Brewster pass, but found Raya equal to his left-footed strike.
That chance came as part of a better Swansea spell, with Brewster then heading at Raya.
And the Liverpool striker then handed the visitors a lifeline as he seized on an awful error by Pontus Jansson to loft the ball over a stranded Raya with 12 minutes to go.
As the Swans pushed more and more men forward in search of the goal that would take the tie to extra-time it left space for the hosts to counter, with Benrahma striking the bar.
But Cooper's side were coming on strong during the closing stages, in-keeping with the character and resilience they had shown throughout their final run to the play-offs.
Substitute Bersant Celina surged into the area but saw his cross cut out, while Brewster shot straight at the keeper with Ayew and Celina in support.
But the goal would not come as Swansea came up agonisingly short.
Brentford: David Raya; Henrik Dalsgaard, Ethan Pinnock, Pontus Jansson (captain), Rico Henry; Mathias Jensen, Christian Norgaard, Emiliano Marcondes (Josh Dasilva 77); Bryan Mbuemo (Sergi Canos 76), Said Benrahma, Ollie Watkins.
Substitutes: Luke Daniels, Joel Valencia, Tariqe Fosu, Jan Zamburek, Halil Dervisoglu, Julian Jeanvier, Mads Roerslev.
Swansea City: Erwin Mulder; Kyle Naughton (Bersant Celina 77), Mike van der Hoorn (Ben Cabango 46), Marc Guehi; Connor Roberts, Jay Fulton (Yan Dhanda 46), Matt Grimes (captain), Jake Bidwell; Conor Gallagher, Andre Ayew; Rhian Brewster.
Substitutes: Josh Gould, Tivonge Rushesha, Aldo Kalulu, Nathan Dyer, Jordon Garrick, Liam Cullen.
Referee: Chris Kavanagh