JAMES Collins fired a brace as Luton won 3-0 at Shrewsbury to extend their lead at the top of Sky Bet League One to six points.

Collins gave Luton an interval lead and then notched his 18th goal of the season after Matty Pearson had put them 2-0 ahead early in the second half.

The Hatters secured their fourth straight win and extended their unbeaten league run to 18 matches, while Shrewsbury, winless in seven, slipped into the bottom three.

Barnsley climbed into the second automatic promotion spot after stretching their unbeaten league run to 10 games with a 2-0 home win against Scunthorpe.

Alex Mowatt and Cameron McGeehan both struck before half-time as the Reds also maintained their unbeaten home record this season.

Portsmouth had to come from behind to salvage a point in a 1-1 draw against Doncaster at Fratton Park.

Omar Bogle cancelled out Mallik Wilks' first-half opener for Doncaster nine minutes after half-time, but Pompey, without a league win since New Year's Day, dropped one place to third.

Sunderland leapfrogged Charlton into fourth place with their first win since January 1, 1-0 at home against bottom club AFC Wimbledon.

Aiden McGeady broke the deadlock for Sunderland midway through the second period as the Black Cats snapped a run of three straight league draws.

Charlton went down to their first defeat in six league matches as they lost 1-0 at Fleetwood, for whom Ched Evans scored his 13th goal of the season in the 68th minute.

Addicks defender Patrick Bauer was sent off in the closing minutes for his second yellow card.

Peterborough also lost ground on the top two as Lee Tomlin was sent off in their 1-0 home defeat to Plymouth.

Tomlin was dismissed for his second booking in first-half stoppage time and Plymouth snatched their fifth win in six league games thanks to Ruben Lameiras' late strike.

Tom Eaves converted a stoppage-time penalty to rescue Gillingham a point in a 1-1 draw at Coventry.

Coventry appeared set for their first league win in five through Bright Enobakhare's second-half opener, but Eaves scored from the spot in the second minute of time added on after Lee Burge had fouled Brandon Hanlan.

Bristol Rovers moved out of the bottom four by winning 2-1 at Southend.

Rovers led 2-0 through Liam Sercombe and Gavin Reilly before Simon Cox reduced the deficit for Southend before the interval.

Burton drew 0-0 at home against Oxford after playing most of the match with 10 men.

Brewers defender John Brayford was sent off for a professional foul on Oxford's Jerome Sinclair in the 12th minute.

Rochdale climbed out of the relegation zone following a 2-1 win at Walsall.

Ethan Ebanks-Landell gave Rochdale an early lead and although Joe Edwards equalised for Walsall before half-time, Ethan Hamilton struck the visitors' winner.

Accrington's home game against Blackpool was postponed due to a frozen pitch.