Match ends, Walsall 2, Peterborough United 0.
Walsall left it late as they moved to within four points of the League One play-off zone with a dramatic victory over Peterborough.
Injury-time goals from Erhun Oztumer and Kieron Morris secured the Saddlers' fourth home win in a row.
Oztumer scored direct from a controversial corner against his former club in the 92nd minute, desite Posh furiously appealing for a foul by Amadou Bakayoko on their goalkeeper Luke McGee.
McGee was the star of the first half for Posh, making a fine near-post reaction save on 25 minutes to keep out Simeon Jackson's close-range flick from Jason McCarthy's low cross.
But the game seemed set to peter out into a goalless draw before McGee fumbled Oztumer's corner over the line under pressure from Bakayoko.
Posh captain Chris Forrester was sent off for leading the protests before Morris then sealed the points with Walsall's second goal in the seventh minute of stoppage time.
Morris, only playing because of an injury to Florent Cuvelier, found the bottom left corner with a left-foot shot which squeezed under McGee's body.
Report supplied by the Press Association.
- 14OsbourneSubstituted forDobsonat 67'minutesBooked at 90mins
- 7ChambersBooked at 50mins
- 10OztumerSubstituted forMoussaat 90+5'minutes
- 9JacksonBooked at 64minsSubstituted forBakayokoat 74'minutesBooked at 79mins
- 1McGeeBooked at 90mins
- 2SmithSubstituted forAngolat 69'minutes
- 7EdwardsSubstituted forSamuelsenat 84'minutes
- 8ForresterBooked at 90mins
- 42GrantBooked at 34mins
- 10TaylorSubstituted forMaddisonat 69'minutes
- 18Da Silva Lopes
- Mark Haywood
- Shots on Target
Second Half ends, Walsall 2, Peterborough United 0.
Goal! Walsall 2, Peterborough United 0. Kieron Morris (Walsall) left footed shot from the left side of the six yard box to the bottom left corner.
Attempt saved. Lee Angol (Peterborough United) header from the centre of the box is saved in the top centre of the goal.
Substitution, Walsall. Franck Moussa replaces Erhun Oztumer.
George Dobson (Walsall) is shown the yellow card for a bad foul.
Martin Samuelsen (Peterborough United) wins a free kick in the attacking half.
Foul by George Dobson (Walsall).
Chris Forrester (Peterborough United) is shown the red card for violent conduct.
Luke McGee (Peterborough United) is shown the yellow card for dangerous play.
Goal! Walsall 1, Peterborough United 0. Erhun Oztumer (Walsall) left footed shot from a difficult angle and long range on the right to the bottom right corner.
Corner, Walsall. Conceded by Luke McGee.
Attempt saved. Erhun Oztumer (Walsall) right footed shot from the right side of the six yard box is saved in the bottom right corner.
Attempt blocked. Eoghan O'Connell (Walsall) right footed shot from outside the box is blocked.
Attempt missed. Adam Chambers (Walsall) left footed shot from outside the box is close, but misses the top right corner.
Attempt saved. Chris Forrester (Peterborough United) right footed shot from outside the box is saved in the bottom right corner.
Ryan Tafazolli (Peterborough United) wins a free kick in the defensive half.
Foul by George Dobson (Walsall).
Substitution, Peterborough United. Martin Samuelsen replaces Gwion Edwards because of an injury.
Delay in match Gwion Edwards (Peterborough United) because of an injury.