Daryl Murphy made it three goals in three games for Blues but Posh rallied in the second-half, leaving Town to rue missed opportunities again.
Murphy headed in from virtually the goalline on nine minutes but Peterborough levelled in the first minute of the second-half, debutant Liam Dickinson scoring direct from a 20 yard free-kick.
Lee Frecklington put the home side ahead with a good strike on 63 minutes and Craig Morgan sealed the points with a header from a corner five minutes from time.
Town boss Roy Keane made two changes to the side that won at QPR last week, Liam Rosenior coming back in at full-back with David Healy returning to partner Murphy in attack, Jaime Peters and Pablo Counago dropping to the bench.
Blues could have opened the scoring in the first two minutes, Healy denied by Joe Lewis when clean through before Murphy did strike, heading the ball in after Lewis had missed Grant Leadbitter's corner.
England U21 international Lewis saved from Jon Walters' header, the 'keeper then denying Murphy at his nearpost, the striker chipping the rebound over the bar.
Craig Mackail-Smith was inches away from converting Tommy Rowe's cross after Healy had lost possession, Arran Lee-Barrett then making good ground to smother the danger on the edge of his box.
Josh Simpson picked up a yellow card for a foul on Jack Colback on the half hour mark, Peterborough then carving out their best opening, Colback keeping out Mackail-Smith's effort at goal from a yard out following Simpson's cross.
David Norris became the first Blue to be booked, the midfielder judged to have handled Owen Garvan's cross before the ball was put in the net.
Reuben Reid replaced Mackail-Smith on 35 minutes, the loanee from West Brom immediately showing good pace to get behind the Town defence, Lee-Barrett gathering the cross at the nearpost.
Damien Delaney was yellow carded just before the break and the Republic of Ireland international was judged to have made the foul on Reid that led to Posh's equaliser in the opening minute of the second-half, Dickinson stroking the ball around the wall and into the bottom corner.
Town rallied, Murphy stormed through only to be denied by last ditch defending, then Garvan had a shot beaten out.
Garvan made way for Peters on 56 minutes, Colback pushing on to midfield but Posh had gained momentum from the goal and Frecklington almost got in down the right, Gareth McAuley then clearing the danger as Dickinson threatened.
Posh's second goal followed a quick exchange of passes around the box and Frecklington buried his shot low past Lee-Barrett just past the hour.
Peters had a shot blocked before Town made a double change for the last 20 minutes, Counago and Alan Quinn on for Healy and Leadbitter.
Murphy header's from Quinn's corner was beaten away by Lewis as Town searched for an equaliser, while at the other end, Lee-Barrett saved well from Dickinson's deflected shot.
Posh sealed the victory five minutes from time, Morgan left unmarked to head home from a corner as Blues were left to rue those missed early chances and a poor second-half display.
Peterborough: Lewis, Whelpdale, Morgan, Bennett, Rowe, Frecklington, Simpson, Livermore, Boyd, Dickinson (Mclean 88), Mackail-Smith (Reid 35). Subs not used: Lee, McKeown, Torres, Griffiths, Geoghaghon. Booked: Simpson.
Town: Lee-Barrett, Rosenior, McAuley, Delaney, Colback, Walters, Norris, Leadbitter (Quinn 72), Garvan (Peters 56), Healy (Counago 72), D.Murphy. Subs not used: D.Wright, Balkestein, Edwards, B.Murphy. Booked: Norris, Delaney.
Att: 9,428













