Chesterfield jumped out of the drop zone and sent Peterborough into the bottom four by winning at London Road.
Posh could have gone infront early on but were denied a penalty when Ian Evatt appeared to foul Clive Platt.
But Glynn Hurst gave Chesterfield the lead after the break when he poked the ball home from close range.
Spireites keeper Carl Muggleton made fine saves from David Farrell and Andrew Fotiadis before Jamie McMaster sealed the win after a flowing move.
Peterborough: Tyler, Kanu, Rea, Arber, Burton, Legg, Gill, Thomson, Williams, Clarke, Platt. Subs: Farrell, Fotiadis, Jelleyman, Semple, Coulson.
Chesterfield: Muggleton, Dawson, Blatherwick, Evatt, O'Hare, McMaster, Hudson, Niven, Brandon, Hurst, Reeves. Subs: Howson, Payne, Davies, Richmond, Robinson.
Referee: G Laws (Tyne & Wear).