Posh did not find Tuesday night's League One clash as easy as the scoreline suggests, with visiting goalkeeper Joe Lewis making crucial saves at important points in the game.
It was Walsall's sixth home league defeat and a section of the fans called for manager Chris Hutchings to quit.
Walsall made a bright start with Liam Dickinson, on loan from Barnsley, having a shot blocked on his debut, while Ryan McGivern had a fierce shot well saved by Lewis.
But Peterborough took the lead in the 15th minute with defender Ryan Bennett heading in an Arran Davies free-kick and two minutes later Davies himself added the second when firing past James Walker after beating a defender.
Walsall thought they were back in the game in the 53rd minute when Julian Gray headed his third of the season from Martin Devaney's cross, but two minutes later their hopes died as Kelvin Langmead hit Posh's third goal from a Davies corner.