The leaders' match was one of six fixtures not to fall victim to the weather, and Andy Robinson gave the well-drilled visitors the lead just before the break, converting from the spot after Harlee Dean brought David Amoo down.
The Bees hit back when Dean redeemed himself, getting ahead of marker to glance home Jake Bidwell's near-post free-kick.
But Adam McGurk skipped past two defenders to fire in a low angled drive at the near post for the winner after 66 minutes.
Doncaster kept pace with Tranmere at the top as they beat Leyton Orient 2-0.
Chris Brown and Rob Jones were on target to give Doncaster all three points, and keep them alongside Tranmere on 50 points at the summit of League One.
Swindon Town claimed third spot as they beat Shrewsbury 2-0 thanks to Chris Martin's penalty and Andrew Williams's strike in the early minutes of the second half.
An Alan Judge header gave 10-man Notts County a point as they held Sheffield United 1-1 at a frozen Meadow Lane.
The Blades had opened the scoring after just over a minute when Nick Blackman's inswinging corner was headed home by a towering Harry Maguire.
Coventry continued their climb up the table with a 2-1 win over Oldham thanks to James Bailey's late strike.
Stephen Elliott put City in front as Gary McSheffrey's left-wing cross reached the stooping striker at the back post and he headed in.
Matt Smith then leapt highest from an 89th-minute corner to notch what he thought was the final goal and an equaliser, but Bailey lashed home a powerful volley to secure all three points.
And in the only other match to beat the weather, Walsall thrashed Bournemouth 3-1, with Will Grigg scoring twice for Walsall as they climbed to 10th in the table.