Jan Vertonghen's classy second-half finish sent Tottenham Hotspur back into the Premier League's top four.
The Belgian defender eventually broke the deadlock at White Hart Lane, calmly turning Kyle Walker's free-kick past Gerhard Tremmel after it brushed the head of defender Ben Davies.
Spurs had to work hard before breaching the visitors' well-organised defence with 15 minutes remaining.
Swansea had few chances and remain 10th despite a second successive defeat.
The visitors arrived in north London with a reputation for making the most of their attacking opportunities, and they had a good early chance when Jonathan de Guzman's corner found Chico Flores unmarked, only for the big Spaniard to shoot over the bar.
Along with defensive partner Ashley Williams, Chico was far more impressive at the other end of the pitch as Michael Laudrup's men dug in well.
First he thwarted Emmanuel Adebayor, then Swansea goalkeeper Gerhard Tremmel denied Jermain Defoe the chance to score on his 350th club appearance.
The England striker was then gifted possession by Michu, who somehow recovered to block his Spurs opposite number's shot.
Spurs continued to dominate, with Defoe again, Adebayor and Aaron Lennon all failing to find the net.
Chances at the other end were rare, but Swansea demonstrated their attacking potential when Dwight Tiendalli whipped in a cross that almost found Wayne Routledge's head.
And while Kyle Walker's powerful 35-yard shot perhaps deserved more than to be parried away by Tremmel, Michu may have felt similarly disappointed when his instinctive long-range effort cleared the Tottenham crossbar.
The game continued in similar fashion after the break, Defoe setting Walker free on the right only for the Spurs defender to shoot wide.
Just when it seemed the breakthrough would never come, the home side's perseverance finally paid off when Walker, via Swans defender Davies, found Vertonghen, who spun on his heels before guiding the ball into the bottom corner.
Tremmel again denied Defoe after he was put clear by former Swan Gylfi Sigurdsson before Michu, chasing a bouncing through-ball, collided heavily with home keeper Hugo Lloris.
As he lay in the Spurs penalty area, the home side pressed forward, much to the fury of Laudrup's men and the visiting supporters.
But while Michu recovered, Swansea could not and Tottenham took all three points.
Tottenham manager Andre Villas-Boas: "It was hard work but the one team who were going to win was us with 23 shots and so much possession. Swansea came out on the counter well and the result was uncertain at 0-0 but we deserved to get the result.
"It was difficult. Michu was defending in his half and it was difficult to break them down. We kept focus and were patient. I'm very happy with the speed we played.
"It was very important. It gets us back to fourth place. The table is tight but it was good to give something back to the fans at White Hart Lane."
Swansea City manager Michael Laudrup: "We knew that we were up against a very good side, one of the best in the league.
"We knew if we came to half-time still 0-0 or not conceding we would have a big possibility of taking something away from here.
"In the second half they weren't that dangerous so the goal was disappointing. It's not a game where I can say I'm disappointed because we did not play well. We did what we had to do."
- 25 Lloris
- 05 Vertonghen
- 13 Gallas
- 16 Naughton
- 28 Walker
- 02 Dempsey (Sigurdsson - 70' )
- 07 Lennon
- 30 Sandro
- 10 Adebayor (Townsend - 72' )
- 18 Defoe Booked
- 19 Dembele Booked (Parker - 90' )
- 24 Friedel
- 33 Caulker
- 06 Huddlestone
- 08 Parker
- 22 Sigurdsson
- 29 Livermore
- 31 Townsend
- 25 Tremmel
- 04 Chico Booked
- 06 Williams
- 21 Tiendalli
- 33 Davies
- 07 Britton
- 09 Michu
- 12 Dyer Booked (Graham - 86' )
- 15 Routledge
- 20 De Guzman Booked (Agustien - 60' )
- 24 Ki Sung-Yeung (Moore - 75' )
- 13 Cornell
- 16 Monk
- 26 Agustien
- 29 Richards
- 10 Graham
- 17 Shechter
- 19 Moore
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +8:00
Short corner worked by Jermain Defoe.90:00 +7:42
Aaron Lennon delivers the ball, clearance made by Chico.90:00 +6:32 Booking
Booking Jake Livermore receives a yellow card for entering the field of play without the referee's permission.90:00 +4:04
Kemy Agustien crosses the ball in from the free kick, save by Hugo Lloris.90:00 +4:04 Booking
Booking Jermain Defoe is booked.90:00 +4:00
Jermain Defoe gives away a free kick for an unfair challenge on Leon Britton.90:00 +3:28
Kemy Agustien takes a inswinging corner from the left by-line to the near post, Andros Townsend makes a clearance.90:00 +2:02
Free kick taken by Kemy Agustien.90:00 +2:02 Substitution
Substitution (Tottenham) makes a substitution, with Scott Parker coming on for Mousa Dembele.90:00 +2:02
Leon Britton fouled by Mousa Dembele, the ref awards a free kick.90:00 +1:15
Raniere Sandro gives away a free kick for an unfair challenge on Miguel Michu. Leon Britton takes the direct free kick.90:00 +0:01
Danny Graham is flagged offside by the assistant referee. Hugo Lloris restarts play with the free kick.88:35
Foul by Wayne Routledge on Andros Townsend, free kick awarded. Kyle Walker takes the direct free kick.87:43
Inswinging corner taken from the left by-line by Gylfi Sigurdsson, Chico manages to make a clearance.87:09
Jermain Defoe takes a shot. Save made by Gerhard Tremmel.86:24
The assistant referee signals for offside against Kemy Agustien. Kyle Walker takes the free kick.85:53 Substitution
Substitution Danny Graham joins the action as a substitute, replacing Nathan Dyer.85:36
Gylfi Sigurdsson takes a shot and went wide of the left-hand upright.83:37
Luke Moore is caught offside. Jan Vertonghen restarts play with the free kick.
Jan Vertonghen takes a shot. Leon Britton gets a block in. Outswinging corner taken right-footed by Gylfi Sigurdsson from the right by-line, clearance by Ashley Williams.80:24
Kyle Walker takes the direct free kick.80:24 Booking
Booking Chico is cautioned.80:23
Chico concedes a free kick for a foul on Andros Townsend.78:40
Headed effort from inside the penalty area by Jan Vertonghen misses to the right of the target.77:43
Inswinging corner taken right-footed by Gylfi Sigurdsson from the left by-line.77:05
Ashley Williams crosses the ball, William Gallas manages to make a clearance.74:51
Kyle Walker provided the assist for the goal.74:51 Goal scored
Goal! - Jan Vertonghen - Tottenham 1 - 0 Swansea Jan Vertonghen fires in a goal from just inside the penalty area to the bottom right corner of the goal. Tottenham 1-0 Swansea.74:08
Centre by Kyle Walker,74:08 Substitution
Substitution Luke Moore replaces Sung-Yeung Ki.74:08
Free kick awarded for an unfair challenge on Andros Townsend by Wayne Routledge.71:32 Substitution
Substitution Andros Townsend on for Emmanuel Adebayor.69:16 Substitution
Substitution Gylfi Sigurdsson is brought on as a substitute for Clint Dempsey.68:58
The ball is swung over by Emmanuel Adebayor, Chico makes a clearance.66:45
Mousa Dembele gives away a free kick for an unfair challenge on Dwight Tiendalli. Kemy Agustien crosses the ball in from the free kick, Aaron Lennon makes a clearance.65:53
Jermain Defoe has an effort at goal from just outside the box which goes wide of the right-hand upright.63:07
Kyle Naughton produces a cross.59:13
Free kick taken by Hugo Lloris.59:13 Substitution
Substitution Kemy Agustien is brought on as a substitute for Jonathan de Guzman.59:13
The assistant referee signals for offside against Miguel Michu.58:15
Shot on goal by Kyle Walker from just inside the area goes over the target.57:07
Kyle Walker challenges Wayne Routledge unfairly and gives away a free kick. Sung-Yeung Ki restarts play with the free kick.56:50
Jonathan de Guzman delivers the ball, William Gallas manages to make a clearance.56:22
Corner taken right-footed by Kyle Walker from the right by-line to the near post, Chico manages to make a clearance.55:18
Direct free kick taken by Kyle Walker, Jan Vertonghen takes a shot. Gerhard Tremmel makes a save.55:18 Booking
Booking Jonathan de Guzman goes into the referee's book for unsporting behaviour.55:09
Free kick awarded for an unfair challenge on Mousa Dembele by Jonathan de Guzman.54:39
Mousa Dembele takes a shot.52:57
Direct free kick taken by Ashley Williams.52:57 Booking
Booking Mousa Dembele is booked.52:54
Mousa Dembele challenges Sung-Yeung Ki unfairly and gives away a free kick.51:51
Effort from outside the penalty box by Kyle Naughton goes wide right of the goal.50:54
Jan Vertonghen produces a cross, clearance by Chico.50:19
Corner taken short by Kyle Walker.49:55
Emmanuel Adebayor takes a shot. Save by Gerhard Tremmel.47:20
The ball is sent over by Wayne Routledge, Nathan Dyer takes a shot. Jermain Defoe takes a shot. Ben Davies gets a block in. Corner taken by Kyle Walker played to the near post, clearance made by Sung-Yeung Ki.46:31
Kyle Walker gives away a free kick for an unfair challenge on Wayne Routledge. Direct free kick taken by Gerhard Tremmel.45:48
The referee blows for offside. Hugo Lloris restarts play with the free kick.45:01
The second half kicks off.45:00 +1:10 Half time
Half Time The ref blows to end the first period.45:00 +0:14
Free kick awarded for a foul by Clint Dempsey on Leon Britton. Free kick taken by Ashley Williams.43:41
Leon Britton challenges Jermain Defoe unfairly and gives away a free kick. Aaron Lennon restarts play with the free kick. Jan Vertonghen takes a shot.41:15
Effort on goal by Miguel Michu from long range goes harmlessly over the target.40:13
Aaron Lennon takes a shot. Save by Gerhard Tremmel.39:32
Jonathan de Guzman produces a right-footed shot from just outside the area that goes harmlessly over the target.38:19
Effort on goal by Kyle Walker from 25 yards. Save by Gerhard Tremmel.37:18
The ball is crossed by Jonathan de Guzman, Jan Vertonghen manages to make a clearance.36:37
Inswinging corner taken right-footed by Jonathan de Guzman played to the near post, clearance made by Clint Dempsey.36:22
The offside flag is raised against Aaron Lennon. Indirect free kick taken by Miguel Michu.35:56
Ashley Williams concedes a free kick for a foul on Clint Dempsey. Kyle Walker restarts play with the free kick.34:01
Jan Vertonghen crosses the ball.31:08
Centre by Jonathan de Guzman.29:09
Raniere Sandro takes a shot. Gerhard Tremmel makes a save.28:43
The ball is swung over by Kyle Walker, blocked by Ashley Williams.25:16
Aaron Lennon takes a shot. Blocked by Ashley Williams. Kyle Naughton handles the ball and concedes a free kick. Leon Britton takes the free kick. Foul by Raniere Sandro on Nathan Dyer, free kick awarded. Free kick taken by Jonathan de Guzman.24:44
Centre by Kyle Walker, Ashley Williams manages to make a clearance.24:21
Aaron Lennon sends in a cross, blocked by Ashley Williams.22:56
Centre by Aaron Lennon, Clint Dempsey takes a shot. Save made by Gerhard Tremmel.21:15
The ball is sent over by Kyle Naughton.19:45
Jermain Defoe produces a right-footed shot from just outside the box that goes wide right of the goal.17:35
Corner taken by Kyle Walker played to the near post, clearance by Miguel Michu.16:40
Inswinging corner taken right-footed by Kyle Walker from the left by-line.14:47 Booking
Booking Nathan Dyer goes into the referee's book.13:58
Kyle Walker sends in a cross, Emmanuel Adebayor takes a shot. Blocked by Chico. Foul by Nathan Dyer on Kyle Naughton, free kick awarded. Kyle Walker produces a strike on goal direct from the free kick.13:16
Miguel Michu concedes a free kick for a foul on Kyle Naughton. Free kick taken by Kyle Naughton.12:39
Jermain Defoe takes a shot. Miguel Michu gets a block in.11:44
Jermain Defoe takes a shot. Gerhard Tremmel makes a save.11:17
Unfair challenge on Nathan Dyer by Clint Dempsey results in a free kick. Dwight Tiendalli takes the free kick.10:40
Free kick awarded for a foul by Raniere Sandro on Jonathan de Guzman. Chico restarts play with the free kick.9:20
Jermain Defoe delivers the ball, Ashley Williams gets a block in. The ball is swung over by Jermain Defoe, Ashley Williams gets a block in. Raniere Sandro produces a left-footed shot from just outside the box that goes wide left of the target.6:13
Sung-Yeung Ki fouled by Clint Dempsey, the ref awards a free kick. Direct free kick taken by Leon Britton.4:08
Chico produces a right-footed shot from close in that goes over the bar.4:01
Inswinging corner taken right-footed by Jonathan de Guzman played to the near post.3:01
Centre by Dwight Tiendalli, Hugo Lloris makes a save.0:00
The referee gets the game underway.
Live data and text provided by our data suppliers