Leonardo Da Silva Lopes scored his first senior goal but it was just a consolation goal as Premier League side Swansea City advanced into round three of the EFL Cup after a dominant first half display.
Grant McCann's men were 3-0 down at the interval with Ollie McBurnie netting twice but Posh improved after the break and hit the post in their push to secure a second goal and make a late game of it, however the Swans held on.
Posh were forced into a change ahead of kick-off with goalkeeper Ben Alnwick sustaining an injury in the warm up, experienced shot-stopper Mark Tyler replacing him between the sticks.
Tyler made his first stop inside the opening five minutes to deny Ollie McBurnie's low shot from just inside the box. Montero flashed a shot over the bar on nine minutes as the Premier League side settled into their passing rhythm.
Jay Fulton saw a shot go wide of the target on 11 minutes after a sharp turn 10-yards from goal. At the other end, former Swansea midfielder Edwards wriggled into a bit of space, but he couldn't keep his effort from 20-yards on target.
The visitors opened the scoring on 14 minutes, Tyler making a fine stop to deny a downward header from McBurnie, but there was FULTON to head home from close-range.
Taylor fired wide from distance as Posh tried to compose themselves after falling behind in the first quarter of the game. Tyler produced a fine stop in a one v one situation as Dyer beat the Posh offside trap on 26 minutes.
Dyer sprung the Posh offside trap again on 34 minutes, but when clean through, he scuffed his shot wide of the target. Tyler was called upon again to make a save on 36 minutes as Santos is beaten to the ball by Ki.
The lively Montero struck the inside of the post with a fierce drive but moments later, it was 2-0 to the Premier League side as McBURNIE collected a Britton pass and coolly finished past Tyler and into the back of the net.
McBURNIE added a third a minute before the break, rolling home after Tyler had spilled Van Der Hoom's initial effort as Posh were all at sea at the back.
Posh had appeals for a spot-kick turned down moments after the break as Maddison appeared to be clipped by Fernandez, but the referee waved away the protests.
Manager Grant McCann made his first change on 58 minutes with Leo Da Silva Lopes replacing Anderson in midfield. Tyler produced a decent stop to deny McBurnie on 63 minutes after Posh gave away possession in midfield.
Shaquile Coulthirst replaced Taylor on 64 minutes while the visitors introduced Llorente for the excellent McBurnie. Nathan Dyer fired wide of the far post after cutting inside from the right as Swansea pushed for a fourth on the counter-attack.
Goalkeeper Nordfeldt, who agreed a new deal ahead of kick-off with the Swans, produced a fine double stop to first deny a powerful strike from Maddison and then to get up and prevent Nichols from squeezing home the rebound.
Posh reduced the arrears on 76 minutes and what a goal it was too, 17-year-old Leo DA SILVA LOPES winning the ball from Spanish World Cup winner Federico Llorente and then unleashing an unstoppable effort from 25-yards which crashed into the back of the net giving Nordfeldt no chance.
Chettle was denied by Nordfeldt at full-stretch on 78 minutes as Posh pushed for a second goal. Maddison fired wide of the near post from 25-yards as the game entered the final 10 minutes.
Nichols crashed the post with a powerful effort from 10-yards after excellent work from Coulthirst in a tight area while at the other end Llorente fired over the bar.
Posh: Tyler, Hughes, Almeida Santos, Bostwick, Smith, Forrester, (sub Chettle 72min) Maddison, Edwards, Anderson (sub Da Silva Lopes 58min), Taylor (sub Coulthirst 64min), Nichols. Unused subs: Henry, Binnom-Williams, White, Gormley.
Swansea: Nordfeldt, Amat (sub Fernandez 46min), Taylor, Ki, Van Der Hoorn, Britton (sub Fer 80min), Dyer, Montero, Rangel, Fulton, McBurnie (sub Llorente 64min). Unused subs: Tremmel, Barrow, Sigurdsson, Naughton.
Half-time: Peterborough United 0-3 Swansea City
Full-time: Peterborough United 1-3 Swansea City
Attendance: 4,727 (300 Swansea fans)