Tommy Rowe had given Posh the lead but a David Mooney double and Dean Cox's lofted finish gave the visitors victory.
Second-placed Wolves kept pace with Orient as they won 2-0 at home to Stevenage thanks to goals from Kevin Doyle and James Henry.
At the other end of the table, 10-man Notts County slipped to the bottom thanks to a 3-0 loss at Coventry.
The game was goalless when County had Daniel Haynes dismissed, and they were punished by second-half strikes from Leon Clarke (two) and Callum Wilson.
That result meant Bristol City climbed a place with a 1-1 draw against Oldham at Ashton Gate.
Jay Emmanuel-Thomas gave the hosts a 36th-minute lead but James Dayton hit back 13 minutes from time.
Sheffield United remain in the relegation zone after succumbing to a 2-0 defeat at Shrewsbury.
The Blades were already trailing to a Joe Jacobson goal when half-time substitute Febian Brandy was dismissed 11 minutes into the second half for fighting, with Liam McAlinden later sealing Shrewsbury's victory.
Swindon returned to winning ways with a 5-2 victory against Port Vale.
The home side took control and went 3-0 up thanks to goals from Dany N'Guessan, Nile Ranger and Massimo Luongo.
Vale hit back through Tom Pope and Lee Hughes but Swindon sealed the win when Nathan Byrne scored in the 82nd minute before Luongo drilled in his second.
Adam Forshaw's early penalty helped Brentford move up to fourth in the table with a 1-0 win at Crawley, while Shaun Williams gave MK Dons victory by the same margin over Walsall.
Gillingham were also 1-0 winners against Carlisle in a game which saw both sides finish with 10 men.
Danny Livesey's foul on Danny Hollands allowed Danny Kedwell to fire home the winner from the spot in the 63rd minute before Carlisle had Lee Miller dismissed, with the Gills' Leon Legge following him off soon afterwards having collected a second booking.
Elsewhere, Elliot Lee grabbed a late equaliser to earn Colchester a 2-2 draw at Rotherham.
Marcus Bean had the visitors ahead in the seventh minute only for Matt Tubbs and Kieran Agard to hit back for the Millers.
But Lee was on hand in stoppage time to salvage a point.
Preston also left it a late as Joe Garner's header in the dying moments gave them a 1-1 draw with Tranmere at Deepdale.
Rovers, playing in the wake of Friday's announcement that midfielder Joe Thompson has been diagnosed with a rare form of cancer, had led through Chris Atkinson's second-half strike.
The day's other game saw Crewe and Bradford play out a goalless draw.