Brentford extended their unbeaten run in the Sky Bet Championship to 19 games and climbed to second in the table as they came from behind to beat Bristol City 3-2.
Dean Holden's Robins took a surprise lead through Zak Vyner after their first real attack of the game (3), but the hosts rallied and pulled level shortly before the half-hour mark when Sergi Canos tucked home after goalkeeper Daniel Bentley had pushed Tariqe Fosu's cross into his path (27).
The irrepressible Ivan Toney added his 20th of a remarkable campaign after the break (50), while Fosu was the architect once again 15 minutes later when Saman Ghoddos extended the Bees' lead (65).
Nahki Wells came off the bench to add a second for the visitors late on (90), but it was not enough to prevent a sixth straight defeat on the road.
Thomas Frank's side climb above Swansea into second as a result, four points behind current leaders Norwich and with a game in hand, while Bristol City sit ninth, three points outside the play-off places.
How Brentford's promotion push picked up momentum again
With Bristol City having lost each of their last five away fixtures and Brentford unbeaten since October - and fresh from a 7-2 win over Wycombe at the weekend - the narrative of the game almost looked to have been decided before a ball had been kicked in west London.
Yet inside the first 180 seconds, the Robins edged ahead. Teenage debutant Owura Edwards won a free-kick on the left-hand side, with Jack Hunt's delivery floating through a crowd and to the far post, where Vyner broke free of Ethan Pinnock's clutches to apply the finishing touch.
Unsurprisingly, the hosts flew out of the traps as they searched for an equaliser and shortly before the half-hour, they had it. Fosu got the better of ex-Bee Alfie Mawson on the right flank and fizzed in a cross that was taken away from Toney by Daniel Bentley, only to fall straight to Canos, who finished calmly.
City defended well throughout, but could do little about the manner in which Toney struck his fourth in two games. Fosu collected a pass from Mathias Jensen and threaded the ball into the frontman, who did not break stride as he thumped in an emphatic effort.
Brentford's third goal was almost a carbon copy, with a killer ball from Fosu allowing Ghoddos to first slam a shot onto the crossbar and then tuck home following a fortunate bounce off Hunt - their 10th goal in just two games.
There was a hint of offside when Wells collected a pass inside the area and finished beyond the protesting David Raya, but there was little time to mount a comeback as Brentford collected an important three points towards their end goal.
Man of the match - Tariqe Fosu
Sky Sports' Don Goodman...
"He's come into Brentford from a level below and taken his time; Brentford have introduced him gradually and he's showing what a top-quality player he is. I thought he was excellent tonight."
What the managers said...
Brentford's Thomas Frank: "No games are the same. We went 1-0 down after a well-played wide free-kick and then I think we showed a top mentality to stay in the game. We went on the front foot and took control of the game without being that fluent; in the first half, we lost the ball too many times, made too many bad decisions, were untidy on the ball. We still had some good chances but were not at that high level.
"In the second half, from minute one we were there and the goal that made it 2-1 is just all that we try to be. In the end, I think we won fair and square.
"We knew this game could be dangerous; you never know what is going to hit you. We are playing Middlesbrough on Saturday and they are pretty good at closing teams down. It's going to be a massive test."
Bristol City's Dean Holden: "I thought we showed a response from Saturday and that was important. We scored a really good goal early in the game and the first half was really even. We had a good, solid shape and we looked to counter-attack well, we just couldn't find that final pass and they are the fine margins.
"To concede early after half time is disappointing and then the third goal, but the boys stuck to it. We kept going, got a good goal at the end from Nahki Wells but it just wasn't enough."
Both sides are next in action at 3pm on Saturday February 6. Bristol City host Cardiff in the Severnside derby at Ashton Gate, while Brentford travel to the Riverside Stadium to face Middlesbrough.