SUBSTITUTE Paddy Madden scored twice as Sky Bet League One leaders Scunthorpe claimed a 2-1 comeback victory over MK Dons at Glanford Park.

The Iron strengthened their place at the summit following Bradford's late defeat at Oxford but had to do it the hard way after Kieran Agard put the hosts ahead.

Madden came off the bench on the hour and combined with fellow substitute Kevin Van Veen for the 66th-minute equaliser. Van Veen found room in the box to get in a shot that goalkeeper David Martin could not hold and Madden raced in to apply the finishing touch from close range.

He then fired Scunthorpe ahead with nine minutes remaining as he slotted Josh Morris' cross low into the bottom corner.

The Bantams remain second despite a 1-0 loss at Oxford, who sealed maximum points at the death through Chris Maguire after Billy Clarke missed a first-half penalty for the visitors.

Bolton moved up to third as Zach Clough's first goals since April 23 earned them a 2-0 derby win which keeps Oldham rooted in the bottom four.

Rochdale go fourth after six successive league wins thanks to a 2-0 derby triumph against neighbours Bury, who finished with nine men.

Goals either side of the break from Ian Henderson and Nathaniel Mendez-Laing clinched the win for the Dale, while their opponents lost Kean Bryan and Jacob Mellis to red cards.

On-loan defender Ethan Ebanks-Landell scored twice as Sheffield United extended their unbeaten league run to eight games with a comfortable 4-0 victory over Port Vale. Mark Duffy and Stefan Scougall were also on target as the Blades moved up three places to fifth.

Substitute Ellis Harrison volleyed an 90th-minute winner as Bristol Rovers came from behind to beat Gillingham 2-1 at the Memorial Stadium.

The away side had taken a 62nd-minute lead through Josh Wright and man of the match Chris Lines grabbed an 82nd-minute equaliser before Harrison sealed the points.

Southend moved out of the relegation zone as Adam Thompson scored his first goal of the season in a 1-0 win over Chesterfield, who dropped to fourth bottom.

Walsall piled the misery on managerless strugglers Shrewsbury as Erhun Oztumer's late winner settled a bad-tempered derby 3-2 in the Saddlers' favour.

Walsall went ahead through Amadou Bakayoko with team-mate Kieron Morris' effort sandwiched by goals from former Walsall man Oliver Lancashire and Junior Brown before Ryan McGivern saw red for the Shrews.

The Saddlers won it two minutes from time as Oztumer's corner crept in direct at the near post, although they also ended with 10 men as Bakayoko saw a second yellow for his celebrations.

Charlton picked up their first win in nearly two months after thrashing Coventry 3-0 at The Valley. Ricky Holmes, Ademola Lookman and Josh Magennis goals were enough to see off the Sky Blues, who remain bottom.

The match was interrupted by a flurry of plastic pigs thrown from the stands in a protest by supporters.

The first-minute hold-up to the game was caused by the action from home fans disgruntled by the reign of Charlton owner Roland Duchatelet, and Sky Blues supporters disenchanted by the running of their club by hedge fund group Sisu.

The match was preceded by a march to The Valley by a large number of Charlton and Coventry supporters calling on each set of owners to sell up.

With the game barely under way, a hail of toy pigs left the pitch briefly unplayable, causing referee Darren Deadman to stop the play.

The match resumed after stewards cleared the playing surface, with the delay lasting around five minutes.

Struggling Millwall earned a timely 3-1 victory against 10-man Northampton with goals from Lee Gregory, Calum Butcher and Steve Morison as Marc Richards headed home a consolation for the Cobblers, who lost Jak McCourt to a second yellow card after 54 minutes.

Jack Sowerby bagged his first league goal as Fleetwood saw off Peterborough 2-0 with Bobby Grant also on target.