David Cotterill celebrates his winning penalty with Shefki Kuqi
David Cotterill extended promotion-chasing Swansea City's unbeaten run to 12 games and pushed bottom club Peterborough closer to relegation.
Cotterill struck from the penalty spot after being fouled by Charlie Lee.
Nathan Dyer had an effort cleared off the line while keeper Joe Lewis denied Ferrie Bodde and Lee Trundle.
Lee Frecklington put a header wide for the Posh who rarely threatened and the Swans were more worried by injuries to midfield duo Bodde and Darren Pratley.
Bodde was making his return from five months out with a knee problem and the Dutchman's exit after just 28 minutes raised question marks as to whether he was ready to play.
It was the third time in 15 months Bodde has suffered an injury to his left knee. In November 2008 he suffered cruiciate ligament damage and then broke down after eight minutes of his starting return against Sheffield United last September.
The double-blow will add to manager Paulo Sousa's midfield woes with Joe Allen, Andrea Orlandi and Jordi Lopez already sidelined.
But the fourth-placed Swans kept their focus on the job in hand and are seven points off an automatic promotion spot and eight ahead of Sheffield United in seventh.
Peterborough remain 10 points adrift of safety and winless on the road.
But the Posh's pre-match preparations were not helped by the loss of strike trio Aaron McLean, George Boyd and Craig Mackail-Smith to a virus.
Bodde, making his fourth appearance in those 15 months, showed glimpses of what he can bring to the game and played a role in the Swans' first chance of four minutes.
He found Shefki Kuqi on the edge of the box and the Finn chested it down before turning and unleashing a low shot which Joe Lewis turned around the post.
But unlike many teams who visit the Liberty Stadium, Peterborough were not prepared to sit back and defend - and they tried to cause problems for the home defence without really punishing them.
Darren Pratley receives treatment before being forced off injured
They needed to attack as their own defence looked suspect and Bodde found himself in acres of space to launch a 30-yard drive which left Lewis beaten, but went just wide.
And they were caught out on 19 minutes when Lee was caught in possession 25-yards out by Cotterill, who he went on to hack down in the box.
The Wales international picked himself up to slot the penalty low into the right-hand corner.
But Swansea's joy was short-lived as first they lost Pratley and then Bodde hobbled off on 28 minutes after going down unchallenged.
That left them initially disjointed with winger Mark Gower and striker Lee Trundle coming into the midfield allowing Posh to see more of the ball.
But Swansea always looked more threatening and almost doubled the lead on the stroke of half time when Exodus Geohaghan gave the ball away before eventually recovering to deny Nathan Dyer on the line.
Dyer turned provider eight minutes after the restart when Trundle set him free down the right to cross for Kuqi who blasted over from eight yards.
Posh midfielder Frecklington should have done better on the hour when he headed over substitute Nathan Kornateng's cross over as they pushed for an equaliser.
The game opened up and Trundle worked well with Dyer and Gower to cause problems.
Trundle tested Lewis from the edge of the box who parried just out of Dyer's reach and then on 79 minutes Lewis rushed out well to close down Dyer before pulling off a superb save to deny Trundle.
But credit to the visitors, they kept going and there was still time for Dickinson to see a shot deflected over from 12 yards and another go wide late on as Swansea recorded their 19th clean sheet of the season.
Swansea boss Paulo Sousa:
Swansea effort pleases boss Sousa
"It is very important to keep on winning but it was a tough game for us.
"The injuries made it difficult for us and we will have to see the results of scans before we know the extent of the injuries of Darren Pratley and Ferrie Bodde.
"Midfield could now be a problem for us in the coming matches and we may have to play different shapes to get over it as we have now lost two players in each of the last two games.
"We had a number of chances to score more goals, which would have relaxed us, but it never happened.
"We are looking to win games and be competitive but we may have to go into the loan market to cover all these injuries to our midfield players."
Peterborough boss Jim Gannon:
"They took their chance and that was the difference.
"I felt it wasn't a penalty as we had crowded their player out, but the referee saw it differently.
"We never showed enough technique to bother Swansea and force ourselves into the game but it is a work in progress at this club this season.
"I want to bring a bit of pride back into our game and I think we did that, but we have to continue to work hard so that we are ready for next season, whichever division we may find ourselves in."
90:00+4:40 The referee signals the end of the game.
90:00+3:20 Lee Frecklington takes a shot from just outside the penalty area clears the crossbar.
90:00+2:34 The ball is sent over by Chris Whelpdale, clearance made by Alan Tate. Tommy Rowe takes a inswinging corner to the near post,
Craig Beattie makes a clearance.
87:42 Gabriel Zakuani gives away a free kick for an unfair challenge on Lee Trundle. Direct free kick taken by Leon Britton.
85:30 Substitution Craig Beattie comes on in place of Shefki Kuqi.
82:28 Nathan Dyer takes a shot. Blocked by Alan Tate. David Cotterill takes a outswinging corner to the near post, clearance made
by Kerrea Gilbert.
Correction - 80:08 Liam Dickinson takes a shot. Clearance by Alan Tate. Inswinging corner taken left-footed by Tommy Rowe, save by Dorus De Vries.
80:08 Liam Dickinson takes a shot. Alan Tate makes a clearance. Corner taken by Chris Whelpdale from the right by-line, save made
by Dorus De Vries.
77:57 Nathan Dyer takes a shot. Save by Joe Lewis. Lee Trundle takes a shot. Save by Joe Lewis. Shefki Kuqi concedes a free kick
for a foul on Kerrea Gilbert. Free kick taken by Joe Lewis.
77:10 Chris Whelpdale challenges Lee Trundle unfairly and gives away a free kick. Ashley Richards takes the direct free kick.
76:11 Reuben Reid is flagged offside by the assistant referee. Dorus De Vries takes the direct free kick.
75:28 Foul by Gabriel Zakuani on Shefki Kuqi, free kick awarded. Angel Rangel takes the free kick.
73:52 Foul by Nathan Koranteng on Angel Rangel, free kick awarded. Alan Tate takes the direct free kick.
72:02 Shefki Kuqi takes a shot. Joe Lewis makes a save.
70:32 Lee Trundle takes a shot. Save by Joe Lewis. Outswinging corner taken from the right by-line by David Cotterill, clearance
made by Chris Whelpdale.
69:55 Free kick awarded for a foul by Lee Frecklington on Mark Gower. Free kick taken by Alan Tate.
68:07 Free kick crossed by David Cotterill, clearance made by Tommy Rowe.
68:07 Substitution Gabriel Zakuani on for Exodus Geohaghon.
68:07 Nathan Koranteng concedes a free kick for a foul on Lee Trundle.
66:06 The ball is delivered by Chris Whelpdale, Ashley Williams makes a clearance.
64:40 Lee Frecklington takes the inswinging corner, clearance made by Shefki Kuqi.
64:19 David Cotterill delivers the ball, clearance made by Lee Frecklington.
63:30 The ball is delivered by Chris Whelpdale, Ashley Williams manages to make a clearance.
62:56 Chris Whelpdale produces a cross, Dorus De Vries makes a save.
62:35 Ashley Williams challenges Lee Frecklington unfairly and gives away a free kick. Lee Frecklington takes the free kick.
61:38 Lee Trundle takes a shot. Blocked by Craig Morgan.
60:53 Nathan Koranteng sends in a cross, Lee Frecklington has a headed effort from close range and clears the bar.
58:32 Ashley Richards challenges Chris Whelpdale unfairly and gives away a free kick. Free kick crossed right-footed by Lee Frecklington,
clearance made by Angel Rangel.
57:35 Inswinging corner taken from the left by-line by David Cotterill, clearance made by Craig Morgan.
54:34 Lee Trundle produces a left-footed shot from just outside the penalty box that misses to the left of the goal.
53:37 Lee Trundle takes a shot from just outside the penalty area clears the crossbar.
52:34 Substitution (Peterborough) makes a substitution, with Kerrea Gilbert coming on for Scott Griffiths.
52:18 The ball is delivered by Nathan Dyer, Shot from deep inside the area by Shefki Kuqi clears the crossbar.
49:49 Mark Gower takes a shot. Save made by Joe Lewis.
46:41 Free kick awarded for an unfair challenge on Scott Griffiths by Nathan Dyer. Direct free kick taken by Joe Lewis.
45:55 Headed effort from deep inside the area by Tommy Rowe misses to the right of the target.
45:01 The referee starts the second half.
45:01 Substitution Charlie Lee goes off and Nathan Koranteng comes on.
45:00+3:12 It is the end of the first-half.
45:00+2:17 Angel Rangel produces a cross, Chris Whelpdale makes a clearance. Inswinging corner taken right-footed by David Cotterill,
clearance made by Exodus Geohaghon. Lee Trundle takes a shot. Joe Lewis makes a save.
45:00+0:58 Free kick awarded for an unfair challenge on Ashley Williams by Liam Dickinson. Ashley Williams takes the direct free kick.
45:00+0:37 David Cotterill takes a shot. Save by Joe Lewis.
44:03 Shefki Kuqi takes a shot. Joe Lewis makes a save. Nathan Dyer takes a shot. Save made by Joe Lewis.
43:09 Alan Tate challenges Liam Dickinson unfairly and gives away a free kick. Lee Frecklington takes the free kick.
38:45 Free kick awarded for an unfair challenge on David Cotterill by Chris Whelpdale. Direct free kick taken by Ashley Richards.
37:24 The ball is sent over by Mark Gower, Exodus Geohaghon manages to make a clearance.
36:54 Effort on goal by Charlie Lee from outside the penalty box goes harmlessly over the bar.
33:19 Unfair challenge on David Cotterill by Exodus Geohaghon results in a free kick. Leon Britton restarts play with the free kick.
31:56 Substitution Lee Trundle replaces Ferrie Bodde.
31:21 Tommy Rowe gives away a free kick for an unfair challenge on Nathan Dyer. Free kick taken by Angel Rangel.
29:31 Ashley Richards fouled by Reuben Reid, the ref awards a free kick. Ashley Richards restarts play with the free kick.
27:52 Reuben Reid produces a left-footed shot from just outside the area that goes harmlessly over the target.
26:52 Nathan Dyer takes a shot from just inside the penalty box which clears the crossbar.
23:58 Shefki Kuqi takes a shot from inside the six-yard box clearing the crossbar.
22:54 Substitution Mark Gower is brought on as a substitute for Darren Pratley.
18:46 GOAL - David Cotterill:Swansea 1 - 0 Peterborough David Cotterill scores a placed penalty. Swansea 1-0 Peterborough.
17:24 Exodus Geohaghon challenges David Cotterill unfairly and gives away a Penalty.
14:07 Long range effort from Ferrie Bodde misses to the left of the goal.
11:33 The ball is swung over by Liam Dickinson.
10:46 The official flags Chris Whelpdale offside. Direct free kick taken by Dorus De Vries.
8:46 Outswinging corner taken right-footed by Lee Frecklington from the right by-line, Unfair challenge on Scott Griffiths by David
Cotterill results in a free kick. Scott Griffiths takes the direct free kick.
8:11 Free kick awarded for an unfair challenge on Craig Morgan by Ferrie Bodde. Craig Morgan takes the direct free kick.
3:55 Shefki Kuqi takes a shot. Save made by Joe Lewis. Inswinging corner taken from the left by-line by David Cotterill, save made
by Joe Lewis.
0:00 The game begins.
Live text and data provided by The Press Association.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.