Marcello Trotta scored the winner as Brentford climbed to the top of Sky Bet League One, albeit perhaps only for a few hours.
The Bees started Boxing Day a point behind League One leaders Leyton Orient and Wolverhampton Wanderers, who were second.
They kicked off early against Swindon Town and by the time they had dispatched them 3-2 in a pulsating contest they were top.
It was a rip-roaring early afternoon’s entertainment at Griffin Park, a Christmas cracker a day late.
Swindon were all-energy in the first quarter of the match.
They pressed the ball high up the pitch and did it superbly.
There was no room for Brentford to play out, central defenders Harlee Dean and Tony Craig were pressurised in to mistakes and the central midfield was congested.
With Kadeem Harris and George Saville both missing, Brentford were looking mainly to the right and couldn’t use the width of the pitch to full effect.
Swindon went ahead inside the first ten minutes when Nathan Thompson moved forward on the right and fed the ball in to Alex Pritchard, his cross allowed Ryan Mason to dart past Alan McCormack, in to the penalty area and finish low past David Button.
They deserved to be ahead for a fine start – Nile Ranger headed wide before the goal, Nicky Ajose had a shot deflected and Craig blocked a Yaser Kasim effort – and Brentford were rattled.
Brentford levelled through Sam Saunders only for Ajose to restore Swindon’s lead after the break.
But Clayton Donaldson levelled for The Bees and Trotta poked home the winner to give Brentford ten wins from their last 11 League One matches.
The Bees had started with attacking intent and had some good possession in Swindon territory in the first 20 minutes but were being swarmed all over by the hard-working visitors.
Mason also shot across the face of goal for Swindon, who came to Griffin Park to attack rather than frustrate.
As the first half wore on, however, Brentford start to find a way to deal with what Swindon had to offer.
Saunders, playing as one of a midfield three, got more involved and Brentford started to create their midfield triangles and openings, allowing them to move the ball up the pitch and have sights of goal.
Swindon goalkeeper Wes Foderingham tipped a Saunders free kick over the bar and when a corner was half cleared, Saunders cut inside and fired in a low shot that the stopper saved.
The Bees were getting on top and levelled with a goal that had a large Boxing Day crowd cheering and laughing in equal measure.
After Adam Forshaw was felled 20 yards out, Saunders stepped up to take the free kick, ran up, slipped and fell flat on his face before getting anywhere near the ball.
He recovered his poise, lined it up again and curled it in to the top corner with Foderingham rooted to the spot.
Swindon continued to attack after the equaliser but Brentford had the upper hand.
Donaldson had a low shot blocked after good work by Trotta and the striker was then just unable to reach a Saunders cross to head in.
Mason blasted a free kick well wide at the other end before Pritchard, Swindon’s bright spark, had two efforts blocked.
The visitors switched to a 4-2-3-1 system to try and match up in midfield while Brentford were forced to introduce Stuart Dallas when Will Grigg limped off.
This gave Brentford more width and they continued to have the better of it.
Donaldson shot wide before a fierce low Trotta effort squirmed out of the grasp of Foderingham and rolled just wide.
A Massimo Luongo shot was blocked but Brentford ended the half with the initiative.
A Donaldson header was gathered by Foderingham before Trotta cut inside and fired just wide of the near post in the dying seconds of the first period.
Swindon switched back to 4-4-2 at the start of the second half and with 15 minutes to rest, they came out pressing the ball in the same way they did in the opening stages.
Button was forced in to a low save from Pritchard and Saunders tested Foderingham at the other end before the visitors went back in front.
Jonathan Douglas gave the ball away to Pritchard in midfield, his low shot ricochet around and fell to Ajose, looking suspiciously clear of the last man, and the striker slotted the ball home with ease.
But this time, Brentford found a quick response.
McCormack delivered a superb ball from the right and Donaldson threw himself full length to head home an equaliser.
While Swindon continued to pose a threat, Brentford scoring so quickly gave The Bees a boost.
They took control and looked the more likely team to score next.
Trotta was at the centre of most of Brentford’s attacking moves.
Forshaw had a shot blocked after robbing Kasim and exchanging passes with the striker, Trotta then headed the loose ball inches wide.
Nathan Thompson made a fine late tackle to prevent Trotta converting a McCormack cross and the striker then fed Saunders who saw his shot blocked.
Foderingham saved low after Trotta had picked up a Dallas pass, dribbled away from three men and got a shot off.
The striker then dribbled in to the box again and saw a shot blocked after Dallas had dispossessed Kasim.
Swindon showed signs of their danger when Button had to tip away a Pritchard shot and then save well after Ajose had dribbled in to the box when the resulting corner was half cleared.
The goal Brentford had been threatening came with 19 minutes remaining.
Saunders had a shot blocked and Douglas spun it first time in behind the Swindon defence, Trotta stuck out a toe and diverted it home from eight yards.
Swindon came back strongly, Ajose shot wide when a free kick was half cleared and Button made a superb save high to his left from a Pritchard free kick before denying Nathan Byrne.
Forshaw had a shot blocked and then blasted a free kick over as Brentford looked for the goal that would seal the game.
Trotta then had a shot blocked and set up Jake Reeves for another effort that was blocked.
Dean blocked a Kasim shot as Swindon pressed while a Dallas effort at the other end deflected wide.
Farid El Alagui could have made it safe when he got in behind but he pulled his shot across the face of goal.
However, referee Keith Hill, who certainly handed out a large number of Christmas cards, brought the game to a close moments later and Brentford had seven straight home wins, and the lead in the League One title race.
Brentford: Button; McCormack, Dean, Craig, Bidwell; Saunders (sub Reeves 78 mins), Douglas, Forshaw; Donaldson, Trotta (sub El Alagui 90 mins), Grigg (sub Dallas 40 mins)
Subs (not used): Lee, Logan, O’Connor, Diagouraga
Bookings: Donaldson (44 mins) (second of season), Saunders (67 mins) (third of season), McCormack (72 mins) (fourth of season), Forshaw (88 mins) (second of season), Dean (90 mins) (seventh of season)
Swindon Town: Foderingham; N. Thompson (sub Barthram 80 mins), Hall, Ward, Byrne; Pritchard, Kasim, Luongo, Mason; Ajose (sub Storey 74 mins), Ranger (sub Gladwin 74 mins)
Subs (not used): Belford, Harley, McEveley, L. Thompson
Bookings: Barthram (84 mins), Kasim (90 mins)
Attendance: 8,333 (1,016 away fans)
By Chris Wickham