Brentford continued their remarkable run of form with a fine win away to fellow promotion-chasers Peterborough United.
Adam Forshaw put The Bees in front early on before the hosts hit back with a long range striker.
Sam Saunders put Brentford in front and there were chances to make the game safe, including a penalty from Forshaw that was saved.
Brentford eventually sealed their 12th win in 13 Sky Bet League One games when Clayton Donaldson converted at the far post in stoppage time to make it 3-1.
Both teams had sights of goal inside the first five minutes – Nicky Ajose, who played against Brentford for Swindon Town on Boxing Day before being recalled from a loan spell, shot over from 20 yards and Saunders was just unable to turn in a Donaldson cross.
However, the first meaningful action was Brentford’s first goal.
Jonathan Douglas played a ball in to the inside left channel, Saunders got there ahead of Peterborough goalkeeper Bobby Olejnik and was then taken out.
Referee Andrew Madley deemed a foul had been committed and pointed to the penalty spot.
Forshaw stepped up and lashed the kick high down the middle to put The Bees in front.
The game started on a sodden playing surface and with a strong wind blowing towards the goal Brentford attacked in the first half.
When the rain started to come down again, the pitch cut up and the driving wind made conditions incredibly difficult.
While both teams tried to pass the ball with confidence, the pitch and wind made it difficult to do so.
Peterborough, as was to be expected, came back strongly after Brentford’s opener and Britt Assombalonga curled a shot just wide.
But Brentford could have had a second when Marcello Trotta, who tormented the home defence with his movement and close control, got clear on the left and played a ball across the six-yard box, Donaldson and Kgosi Ntlhe arrived together, the Peterborough man seemed to get there just ahead and tuned the ball on to his own post.
Jack Payne had a shot blocked and a weak Ajose effort was cleared as Peterborough pressed.
A careless Alan McCormack pass gave Ajose the chance to run at the Brentford defence, his shot hit Tony Craig and flew just wide.
From the resulting corner, Ntlhe headed wide.
But when Peterborough equalised, 33 minutes in, it came out of nothing.
Payne received the ball from a throw in and let fly from 30 yards, the ball dipped wickedly in the wind, cannoned off the underside off the crossbar and bounced in, giving David Button no chance.
The home side were not, however, level for long.
McCormack bust through two tackles in midfield and fed Trotta, he laid it in to the path of Saunders and the attacking midfield man curled the ball in from 25 yards to score his fourth goal in four games and put The Bees back in front.
They could have been out of sight by half time.
Saunders scuffed a shot after Trotta had beaten two men and his second effort was deflected wide.
Jake Bidwell also had a shot deflected inches wide and a Trotta shot was blocked.
Forshaw shot wide early in the second half and Brentford had a golden chance to make the game safe soon after.
The ball bounced around the right wing and as Donaldson played it past Joe Newell, the Peterborough man clattered in to him.
The assistant referee signalled that a foul had been committed and that a penalty should be awarded.
Forshaw stepped up again, this time his penalty was low and weak and Olejnik got down to his right to save.
The home side immediately went down the other end but Newell curled over when well-placed.
With Brentford playing their usual 4-3-3 and Peterborough also using four central midfield players, the centre of the pitch was congested.
It was boggy and the ball was sticking on occasions.
With so much to play for, the game featuring two teams starting the day in the top five, there was no quarter asked or given, tackles flew in and Mr Madley was busy on his whistle.
It affected the flow of the game, which probably suited Brentford more than their hosts.
The Bees still looked likely to create chances when they got Trotta in to the game.
The striker set up Stuart Dallas for a shooting chance that Peterborough quickly closed down and he then bundled his way through before getting off a low effort that Olejnik saved and just managed to gather before Dallas arrived.
Button saved a Grant McCann free kick but Brentford had another chance to make it safe when Bidwell’s cross was controlled by Trotta and Donaldson’s deflected effort flew just over.
McCann had a shot blocked and Shaleum Logan made a fine tackle to deny Kyle Vassell before Assombalonga shot over.
Dallas had an effort blocked but Peterborough piled on the pressure in the later stages.
A low Payne shot was blocked, as was a stronger one soon after.
Dallas should have made the game safe when he went through with only Olejnik to beat but his shot was telegraphed and the goalkeeper saved.
He could not, however, deny The Bees deep in to stoppage time.
Dallas got away on the left and drilled the ball across, Donaldson arrived to tap in at the far post and seal the win.
Toumani Diagouraga could have put a gloss on the score when Logan and Donaldson released him on the edge of the penalty area but he shot wildly over.
Mr Madley brought the game to a close soon after and Brentford had won their seventh League One game in a row and extended their unbeaten league run to 13.
Peterborough United: Olejnik; Little (sub Vassell 76 mins), Bostwick, Brisley, Ntlhe; Anderson, Payne, Newell; Swanson (sun McCann 65 mins); Ajose (sub Jeffers 59 mins), Assombalonga
Subs (not used): Day, Knight-Percival, Grant, Conlon
Brentford: Button; McCormack, Dean, Craig, Bidwell; Forshaw, Douglas (sub Diagouraga 41 mins), Reeves (sub Logan 76 mins); Donaldson, Trotta, Saunders (sub Dallas 59 mins)
Subs (not used): Lee, O’Connor, Fillo, El Alagui
Bookings: Reeves (50 mins), Bidwell (55 mins) (third of season), Diagouraga (61 mins) (third of season)
Attendance: 6,343 (1,001 Bees fans)
By Chris Wickham