Szmodics double helps Posh to the points at Portman Road
Peterborough moved above Town in the top six with an impressive display at Portman Road.
Ivan Toney’s penalty gave the visitors the lead midway through the first-half and Sammie Szmodics extended the advantage before the break after he robbed Will Norris in the box.
Siriki Dembele put Posh in complete command early in the second-half and Szmodics’ excellent finish 15 minutes from time added salt to the wound.
James Norwood’s penalty - his 11th goal of the season - proved a mere consolation for Blues.
Town made one change from the team that went down at Rotherham in midweek, Cole Skuse replacing the injured Emyr Huws.
The over-lapping Luke Chambers found space down the right in the first minute, his cross aimed at Will Keane but Mark Beevers dealt with the danger, the Posh skipper then in the action at the other end to send a terrific volley from a corner goalwards but Norris held firm.
Christy Pym was off his line quickly to beat Kayden Jackson to a ball over the top, Beevers forcing the ball away from danger from a Luke Garbutt corner in an open start to the game, then at the other end Norris denied Siriki Dembele.
Former Peterborough favourite Gwion Edwards fired over after cutting in from the right before Town were forced into an early change with Garbutt limping off and replaced by Myles Kenlock.
Norris saved comfortably from Dembele but on 23 minutes the visitors were awarded a penalty. Toney released Dembele, who was judged to have been clipped by James Wilson - the referee awarding it after consultation with his assistant - and Toney did the rest from the spot.
Alan Judge sent a free-kick into the wall as Town looked for an immediate response but it was Posh who struck again on 34 minutes, Norris caught on the ball by Szmodics from Cole Skuse’s back pass and the Bristol City loanee left with an empty net.
Edwards was carrying the main threat for Town down the right and from his cross Judge hooked the ball straight at Pym but Posh always looked dangerous on the break and Szmodics was beaten by the offside flag as he looked to get in just before the break.
Norwood replaced Judge at half-time as Paul Lambert shuffled his pack, Norris immediately in the action though to keep out Tony’s effort at his near post but Peterborough wouldn’t be denied and on 49 minutes it was three,
Dembele bursting clear down the left and showing great composure to cut inside and find the corner of the net.
Edwards tricked his way into the box as Town looked for a way back into the game but his shot was blocked and
Peterborough smothered the ball away, Reece Brown replaced by Josh Knight in a first change for the visitors.
Jackson flashed a delivery across goal that was inches wide of Norwood and Keane before Keane made way for Freddie Sears for the last 20 minutes.
Wilson stood firm to rob Dembele in the box, Jackson headed into the sidenetting at the near post but Posh inflicted more damage 15 minutes from time when Szmodics finished in style.
Town reduced the arrears immediately, Norwood converting from the spot after he had been caught by Beeves but Blues never looked like staging a dramatic recovery and Toney was denied a fifth for Peterborough by Norris.
Town: Norris, Chambers, Woolfenden, Wilson, Edwards, Downes, Skuse, Judge (Norwood 46), Garbutt (Kenlock 16), Keane (Sears 70), Jackson. Subs not used: Holy, Donacien, Nolan, Dozzell. Booked: Edwards, Skuse.
Peterborough: Pym, Butler, Beevers, Kent, Szmodics, Dembele, Brown (Knight 61), Thompson (Bennett 82), Toney, Ward (Mason 74), Taylor. Subs not used: Chapman, Eisa, Boyd, Jade-Jones. Booked: Butler, Knight.