Brentford claimed a vital three points in their push for promotion from League Two as they beat fellow high-flyers Rochdale at their Spotland home.
In a match of many controversial decisions The Bees raced into a 2-0 lead thanks to goals from strike pair Jordan Rhodes and Charlie MacDonald.
The home side pulled one back through a hotly-contested penalty converted by Tom Kennedy and fought tooth and nail for an equaliser.
They thought they had won a second spot kick when they were awarded a free kick for a foul by Sam Wood which appeared to be a yard inside the area but it wasn't given and Brentford were good enough defensively to keep them out from open play and record a crucial win.
The first half was a fantastic spectacle with two of the best sides in the division going toe-to-toe but two of the three goals in it were tinged with controversy and confusion.
The Bees' opener came in the ninth minute but many in the ground were left scratching their heads as to how it came about.
The visitors broke forward with MacDonald and Rhodes setting up Sam Wood, his shot was saved and Kennedy beat Marvin Williams to the loose ball.
As Marcus Bean gained possession the game was stopped and Nathan Stanton was booked, seemingly for dissent concerning appeals for handball earlier in the move.
A free kick was inexplicably given by referee Andy Hall and as Wood curled it in Rhodes rose to head powerfully home with Dale defenders still questioning why it was given.
The home side were perhaps unfortunate to be behind as they had started brightly, Kennedy curled an effort over and Chris Dagnall saw a lob land on top of the crossbar after he got behind the Brentford backline.
But once The Bees got the opening goal they dominated the game and should have secured a more comfortable win.
They grabbed a second goal in the 15th minute and Wood was at the heart of it, beating two men by the left corner flag before picking out MacDonald with a well struck pass, the striker opened up his body and fired home from 12 yards.
Rochdale had much of the possession for the rest of the first half but The Bees had the better chances.
Nicky Adams shot wide at the far post, Dagnall curled an effort wide and Rory McArdle saw a header land on top of the net.
Adams curled an effort wide soon after but Brentford could have been out of sight by then.
Rhodes almost grabbed a goal when he beat McArdle to a Wood pass but his low shot was well saved by Frank Fielding in the Dale goal and Bean shot wide after a nice MacDonald lay off soon after.
Mr Hall handed the home side a way back into the game when he penalised Ryan Dickson for handball when an Adams cross appeared to strike him on the body.
Kennedy stepped up to score from the spot, although Hamer seemed to get a hand to it, and Rochdale looked to have a lifeline.
But Brentford should have snatched it back seconds later when MacDonald beat Fielding and McArdle to a Rhodes pass, he went round the goalkeeper but rolled the ball wide from 25 yards.
Kennedy and Will Buckley fired wide before the break and Gary Jones had a shot blocked soon after but chances were fewer in the second period.
Those that did come generally fell to Brentford, many of them gifts by the home defence.
Rhodes was given an early present when he robbed McArdle 30 yards out but Fielding rushed out and saved at his feet.
Mark Phillips had a header saved before McArdle presented Rhodes with another chance but the striker miss-hit a lob and Fielding saved.
Buckley had a shot blocked at the other end, Hamer saved at the feet of Adam Le Fondre and Clark Keltie saw an effort fizz narrowly over the top as Rochdale pushed.
Substitute Nathan Elder could have sealed the win when he raced clear of the home defence but Fielding saved again and missed chances almost cost Brentford when a Buckley effort took a wicked deflection, but it looped straight to Hamer.
Wood shot over the top late on but Brentford did not need a third goal as their defence held firm and they took three points back to London.
Rochdale: Fielding; Wiseman, Stanton, McArdle, Kennedy; Adams (sub Le Fondre 58 mins), Jones, Toner (sub Keltie 76 mins), Buckley; Thompson (sub McEvilly 71 mins), Dagnall
Subs (not used): Ramsden, Rundle
Brentford: Hamer; Osborne, Phillips, Bennett, Dickson; Williams (sub Newton 58 mins), O'Connor, Bean, Wood; MacDonald (sub Elder 76 mins), Rhodes (sub Hunt 89 mins)
Subs (not used): Simon Brown, Halls
Written by Chris Wickham