Swansea City suffered their heaviest home defeat in nearly 12 months as they were put to the sword by an impressive Brentford side at the Liberty Stadium.
The excellent Said Benrahma curled in a lovely opener for the visitors, before Jake Bidwell put through his own net under pressure from Bryan Mbuemo.
Head coach Steve Cooper made changes at the break, but Mbuemo ended hopes of a home comeback with a fine finish from the edge of the area.
Kristoffer Peterson and George Byers went close for the hosts, but they could have no complaints as a seven-match winning streak against the Bees came to an emphatic end.
In Benrahma they had the game’s outstanding player, and the Swans have now taken one win from their last seven Championship fixtures.
They are also four games without a win at the Liberty, something that had no happened since May 2018, and this was the heaviest defeat here since Norwich's 4-1 win in November 2018.
Cooper had made five changes from the weekend draw at Barnsley, with Peterson, Connor Roberts, Jay Fulton, Yan Dhanda and Borja Baston coming into the starting XI.
It was an even start, with Peterson seeing a cross blocked on the edge of the area after a lovely lay-off from Borja, while Mbuemo was needlessly caught offside as Brentford immediately countered.
Peterson was involved again in the 11th minute, picking up Rodon’s pass to clip an inviting cross to the far post that Roberts headed across the box, only to see it blocked.
The Sweden international then headed wide from an excellent Fulton cross, although the flag was up for offside.
But Brentford looked the more fluent side, and Freddie Woodman tipped an Ollie Watkins shot around the post after Matt Grimes had lost the ball in midfield.
Peterson looked Swansea’s greatest threat, and a lovely dummy saw him roll Henrik Dalsgaard and cut back, but Borja could not control on the edge of the six-yard box.
Dhanda saw his shot deflected onto the roof of the net after more smart play from Peterson, and the midfielder then headed straight at Bees keeper David Raya from Fulton’s clipped centre.
But, just as Swansea were building up a head of steam, they fell behind.
Brentford broke sharply with numbers, and Benrahma curled a lovely strike over Woodman’s despairing dive into the far corner.
And it was 2-0 six minutes later. A loose Peterson pass was seized on by Watkins and – when the ball was slid through to Mbuemo - the covering Bidwell inadvertently prodded the ball beyond Woodman.
Swansea were stunned, although Grimes did work Raya with a powerful low drive from the edge of the area just before the break.
Cooper had seen enough and he sent on Bersant Celina and Byers for Dhanda and Fulton respectively, and the opening minutes of the second half were wide open.
Woodman prevented Watkins adding to Brentford’s tally, while Peterson so nearly produced a strike to rival Benrahma’s from the first half, only to see the ball drift agonisingly wide.
But Mbuemo did make it 3-0 in the 56th minute after a sloppy pass allowed Brentford to break, and the midfielder pinged a drive past the unsighted Woodman.
Benrahma wasted another opportunity for the visitors, firing tamely at Woodman when he had Rico Henry to his left in acres of space.
Benrahma and Watkins were having superb nights, and both fired narrowly wide when presented with chances to challenge the overworked Woodman.
Byers thought he had pulled one back with 10 minutes remaining, but Raya pulled off a fantastic save at his near post.
Swansea City: Freddie Woodman; Connor Roberts, Mike van der Hoorn, Joe Rodon, Jake Bidwell; Jay Fulton (George Byers 46), Matt Grimes (captain); Andre Ayew, Yan Dhanda (Bersant Celuba 46), Kristoffer Peterson, Borja Baston (Sam Surridge 69).
Subs (not used): Kristoffer Nordfeldt, Kyle Naughton, Ben Wilmot, Wayne Routledge.
Brentford: David Raya, Rico Henry, Christian Norgaard, Said Benrahma (Jan Zamburek 87), Ollie Watkins, Kamo Mokotjo, Josh Dasilva (Mathias Jensen 76), Pontus Jansson, Bryan Mbuemo (Joel Valencia 70), Henrik Dalsgard, Julian Jeanvier.
Subs (not used): Dominic Thompson, Ethan Pinnock, Josh Clarke, Luke Daniels.
Referee: Gavin Ward