Marcello Trotta's first-half goal gave Brentford victory at Brisbane Road, and though the visitors were reduced to 10 men for the last 40 minutes after James Tarkowski was sent off for a second bookable offence, the Bees produced a resilient rearguard action.
Leaders Wolves are only one point ahead of Brentford after their nine-game winning streak ground to a halt at home to Shrewsbury.
The relegation-threatened Shrewsbury even had chances to pull off a shock win at Molineux with Miles Storey being denied by a smart save from Carl Ikeme while Conor Goldson headed just wide to leave the game goalless.
Fifth-placed Rotherham played out a 1-1 draw at home to 10-man Walsall - Nicky Adams and Milan Lalkovic exchanging goals as the Saddlers lost Ben Purkiss to a red card midway through the first half.
Peterborough pulled six points clear of play-off chasing MK Dons with a 2-0 victory in Milton Keynes.
Manager Darren Ferguson had read the Posh the riot act following their home defeat to Bristol City and will have been pleased with their response as Britt Assombalonga scored twice in two minutes to clinch the away win.
In the battle to avoid the drop, Tranmere moved two points clear of the bottom four by edging basement boys Notts County 3-2 at Prenton Park.
Ronan Murray's opener was quickly cancelled out by Jason Koumas and Ryan Lowe fired Tranmere ahead before the half-hour mark. Alan Sheehan equalised after the break, but Steve Jennings found a winner six minutes from time.
Harry Davis scored at the death to rescue struggling Crewe a point from a 1-1 home draw with Oldham - Gary Hawkins was on target for the Latics - and Stevenage slipped to 21st after their goalless draw at Carlisle.
A solitary strike from Mike Jones gave Crawley a 1-0 victory over Colchester at a newly dried-out Broadfield Stadium while mid-table rivals Bradford and Gillingham drew 1-1 in West Yorkshire.
Aaron McLean boosted the Bantams into an early lead but Cody McDonald ensured the spoils were shared.
Elsewhere, Bristol City failed to capitalise after Swindon lost League One player of the year nominee Alex Pritchard to a red card after the break, with neither side able to push on and break the deadlock at Ashton Gate.