Spanish duo Pablo Hernandez and Miguel Michu helped steer Swansea to a first win in six league games as Wigan's poor form continued at the Liberty Stadium.
Hernandez set the Swans on their way with a delightful shot on the turn following good work by Wayne Routledge.
Michu doubled the lead after heading home unmarked, his sixth league goal since signing in the summer.
Emmerson Boyce's flicked finish gave Wigan hope before Arouna Kone was denied an equaliser by an offside flag.
Ivory Coast striker Kone will feel aggrieved that his header was not given, with television replays showing Wigan had cause for complaint.
But the Latics are without a top-flight win since 25 August and will wonder how they failed to come away from Wales with at least a point after looking comfortable for long spells.
It might have been different had Swans keeper Michel Vorm, celebrating his 29th birthday, not made a flying save to deny Wigan keeper Ali Al Habsi from a corner in the fifth minute of stoppage time.
The thrilling climax was in stark contrast to the opening 45 minutes which proved a dull affair.
With matches away to reigning champions Manchester City and home to leaders Chelsea on the horizon, it was vital Swansea ended a run of five league matches without a win.
More Swansea frustration for Roberto Martinez
Wigan manager Martinez guided Swansea to promotion to the Championship before leaving for Wigan in 2009. But the Spaniard has now failed to win in three Premier League attempts against his former club, losing two and drawing one.
The build-up to the game was overshadowed by reports of unrest in the home dressing room, a claim Swans boss Michael Laudrup had been at pains to deny.
Yet despite failing to seriously trouble Latics keeper Al Habsi in the first half, the hosts could not be accused of a lack of effort, especially after a mistake by Boyce allowed Michu to go close with an 18th minute volley.
Jonathan de Guzman, on loan from Villarreal, tried his best to inject some much needed quality into a game littered by mis-placed passes and he went close with a curling 20-yard effort.
But the hosts had Vorm to thank for keeping them on level terms, the Dutch keeper denying Shaun Maloney from close range before Jean Beausejour went close to netting a rare goal from an acute angle after leaving Ki Sung-yueng trailing in his wake.
The second half was much more entertaining, Hernandez's 65th minute opener the first of three goals in four minutes.
Routledge did all the hard work and after getting the better of Ivan Ramis, the Swansea player delivered a fine cross which allowed Hernandez to score with a low effort.
Michu doubled the lead two minutes later from a corner, Wigan's defence again at fault for allowing the Spaniard to nod home unmarked from close range.
Boyce set up a grandstand finish with a clever flick in the 69th minute after clever work by Kone but despite Kone's disallowed effort and Al Habsi's last-gasp effort, Wigan could not find an equaliser on Roberto Martinez's return to his former club.
Swansea manager Michael Laudrup:
"They had a goal disallowed which was very, very tight but to come back after some games without winning it would be too easy to win without suffering.
"You can say there is a mixture of joy and relief, we knew today was very important for us and I think if you see the game the players played with a lot of confidence and patience.
"But you know when you really want something, in this case a win, you cannot think you can do it in 10 minutes. At this level it takes 90 or 94 minutes and that is what happened."
Wigan manager Roberto Martinez:
"I think we deserved something, it was the game we all expected in terms of the manner of both teams and the concepts we share.
"It's a difficult decision and when I saw it live (offside goal) I thought it should have been given. It's disappointing that call did not go our way.
"Anyway, I shouldn't talk about referees this season. I've learnt my lesson."
- 01 Vorm
- 04 Chico
- 06 Williams
- 22 Rangel Booked
- 33 Davies
- 07 Britton
- 09 Michu
- 11 Pablo (Dyer - 72' )
- 15 Routledge
- 20 De Guzman (Graham - 83' )
- 24 Ki Sung-Yeung Booked
- 25 Tremmel
- 16 Monk
- 21 Tiendalli
- 12 Dyer
- 10 Graham
- 17 Shechter
- 19 Moore
- 26 Al Habsi
- 05 Caldwell
- 17 Boyce
- 21 Ramis
- 31 Figueroa (Watson - 71' )
- 04 McCarthy
- 10 Maloney Booked
- 16 McArthur (Boselli - 83' )
- 22 Beausejour Booked
- 02 Kone
- 09 Di Santo (Gomez - 83' Booked )
- 12 Pollitt
- 06 Jones
- 08 Watson
- 14 Gomez
- 15 McManaman
- 19 Boselli
- 32 Miyaichi
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +4:54 Booking
Booking The referee shows Jordi Gomez a yellow card.90:00 +3:30
Outswinging corner taken left-footed by Jean Beausejour, Ali Al Habsi takes a shot. Save by Michel Vorm.90:00 +3:08
Miguel Michu takes a shot. Save made by Ali Al Habsi.89:38
Chico takes the direct free kick.89:38 Booking
Booking Shaun Maloney goes into the book for unsporting behaviour.89:30
Free kick awarded for a foul by Shaun Maloney on Nathan Dyer.86:56
Unfair challenge on James McCarthy by Miguel Michu results in a free kick. Shaun Maloney shoots direct from the free kick, save made by Michel Vorm.84:53
Ivan Ramis takes the direct free kick.84:53 Booking
Booking Sung-Yeung Ki is cautioned.84:46
Shaun Maloney fouled by Sung-Yeung Ki, the ref awards a free kick.84:19
Effort from deep inside the area by Miguel Michu clears the bar.83:27
Arouna Kone crosses the ball.81:53
Free kick taken by Ben Watson.81:53 Substitution
Substitution Danny Graham joins the action as a substitute, replacing Jonathan de Guzman.81:53 Substitution
Substitution James McArthur goes off and Mauro Boselli comes on.81:53 Substitution
Substitution Jordi Gomez replaces Franco Di Santo.81:53
Unfair challenge on Jean Beausejour by Angel Rangel results in a free kick.81:06
Franco Di Santo takes a shot. Save by Michel Vorm.76:58
James McArthur produces a right-footed shot from the edge of the area and misses to the left of the goal. Short corner worked by Franco Di Santo.
Ivan Ramis restarts play with the free kick.75:53 Booking
Booking Angel Rangel is shown a yellow card for unsporting behaviour.75:40
Foul by Angel Rangel on Shaun Maloney, free kick awarded.74:54
Nathan Dyer takes a shot. Save by Ali Al Habsi. Outswinging corner taken by Sung-Yeung Ki from the right by-line played to the near post.73:16
The free kick is delivered right-footed by Sung-Yeung Ki from right wing.73:16 Booking
Booking Jean Beausejour is given a yellow card.73:07
Unfair challenge on Nathan Dyer by Jean Beausejour results in a free kick.72:29
Leon Britton fouled by Shaun Maloney, the ref awards a free kick. Angel Rangel takes the free kick.71:30
Michel Vorm restarts play with the free kick.71:30 Substitution
Substitution Pablo Hernandez leaves the field to be replaced by Nathan Dyer.71:30
The assistant referee flags for offside against Arouna Kone.70:14 Substitution
Substitution Ben Watson on for Maynor Figueroa.68:48
The ball is delivered by Jean Beausejour.68:35
The assist for the goal came from James McCarthy.68:35 Goal scored
Goal! - Emmerson Boyce - Swansea 2 - 1 Wigan Emmerson Boyce scores a headed goal from inside the six-yard box. Swansea 2-1 Wigan.68:32
James McCarthy takes a shot.66:44
Assist on the goal came from Jonathan de Guzman.66:44 Goal scored
Goal! - Miguel Michu - Swansea 2 - 0 Wigan Miguel Michu finds the net with a headed goal from inside the six-yard box. Swansea 2-0 Wigan.66:12
Ben Davies takes a shot. Blocked by James McArthur. Inswinging corner taken by Jonathan de Guzman from the left by-line,64:21
Assist by Jonathan de Guzman.64:21 Goal scored
Goal! - Pablo Hernandez - Swansea 1 - 0 Wigan Pablo Hernandez fires in a goal from the edge of the area to the bottom left corner of the goal. Swansea 1-0 Wigan.63:13
The official flags Miguel Michu offside. Ali Al Habsi takes the indirect free kick.62:43
Inswinging corner taken by Sung-Yeung Ki.62:19
Sung-Yeung Ki takes a shot. Save by Ali Al Habsi.61:28
A cross is delivered by Pablo Hernandez, Gary Caldwell makes a clearance. Short corner worked by Jonathan de Guzman.60:36
Sung-Yeung Ki takes a shot. Ali Al Habsi makes a save.59:59
The assistant referee signals for offside against Arouna Kone. Leon Britton restarts play with the free kick.58:08
Shaun Maloney takes a shot. Save by Michel Vorm.57:04
Foul by Leon Britton on Shaun Maloney, free kick awarded. Free kick taken by James McArthur.56:02
Free kick awarded for a foul by James McCarthy on Pablo Hernandez. Free kick taken by Miguel Michu.55:27
The ball is crossed by Jean Beausejour.51:39
Ivan Ramis challenges Wayne Routledge unfairly and gives away a free kick. Jonathan de Guzman crosses the ball from the free kick right-footed from left wing, James McCarthy manages to make a clearance.50:42
Chico takes a shot. Blocked by James McArthur.49:32
Foul by Franco Di Santo on Chico, free kick awarded. Free kick taken by Chico.47:05
The ball is crossed by Pablo Hernandez, clearance by Emmerson Boyce. Leon Britton produces a right-footed shot from just outside the box that goes wide right of the target.45:01
The referee gets the second half underway.45:00 +0:54 Half time
Half Time The match has reached half-time.45:00 +0:03
Sung-Yeung Ki gives away a free kick for an unfair challenge on James McCarthy. James McArthur takes the direct free kick.42:59
The ball is crossed by Miguel Michu, clearance by Jean Beausejour. Jonathan de Guzman takes the outswinging corner, Emmerson Boyce makes a clearance.41:54
Wayne Routledge fouled by Emmerson Boyce, the ref awards a free kick. Direct free kick taken by Ben Davies.39:57
Foul by Maynor Figueroa on Pablo Hernandez, free kick awarded. Jonathan de Guzman crosses the ball from the free kick right-footed from right wing.38:41
Jonathan de Guzman takes the outswinging corner, Angel Rangel takes a shot from just outside the penalty area which clears the crossbar.37:25
Effort from the edge of the box by Pablo Hernandez goes wide of the right-hand upright.36:42
Close range effort by Jean Beausejour goes over the bar.36:11
A cross is delivered by Jean Beausejour.35:36
Angel Rangel concedes a free kick for a foul on Shaun Maloney. Direct free kick taken by Gary Caldwell.34:01
Corner taken right-footed by Jonathan de Guzman, clearance by Franco Di Santo.33:17
Free kick awarded for an unfair challenge on Wayne Routledge by Emmerson Boyce. The free kick is swung in right-footed by Sung-Yeung Ki, clearance by Ivan Ramis.32:05
Arouna Kone fouled by Ashley Williams, the ref awards a free kick. Direct free kick taken by Ivan Ramis.31:45
Angel Rangel takes a shot. Blocked by James McArthur.30:54
The ball is sent over by Angel Rangel, clearance by Gary Caldwell.29:26
A cross is delivered by Wayne Routledge, Miguel Michu produces a header from inside the six-yard box that clears the bar.26:18
Corner taken by Jonathan de Guzman from the right by-line, clearance made by Franco Di Santo.25:24
Free kick awarded for a foul by Wayne Routledge on Emmerson Boyce. Ali Al Habsi takes the direct free kick.21:48
The assistant referee signals for offside against Miguel Michu. Ali Al Habsi restarts play with the free kick.20:02
Jonathan de Guzman produces a right-footed shot from just outside the box that goes wide left of the target.15:37
Free kick awarded for a foul by Jonathan de Guzman on Arouna Kone. Shaun Maloney restarts play with the free kick.14:09
Jonathan de Guzman takes a shot. Ali Al Habsi makes a save.12:58
Shaun Maloney fouled by Jonathan de Guzman, the ref awards a free kick. Gary Caldwell takes the direct free kick.12:15
Jean Beausejour produces a cross.10:58
Shaun Maloney takes a shot. Save made by Michel Vorm.9:22
The referee blows for offside. Michel Vorm takes the indirect free kick.8:37
Free kick awarded for a foul by Jonathan de Guzman on James McArthur. Shaun Maloney delivers the ball from the free kick right-footed from right wing, clearance made by Miguel Michu.7:36
Foul by Franco Di Santo on Angel Rangel, free kick awarded. Jonathan de Guzman shoots direct from the free kick, save by Ali Al Habsi.6:52
Corner taken right-footed by Jonathan de Guzman from the right by-line to the near post, James McCarthy makes a clearance.5:34
Free kick awarded for an unfair challenge on Miguel Michu by Gary Caldwell. Leon Britton takes the free kick.4:42
Arouna Kone takes a shot. Save by Michel Vorm.4:01
Free kick awarded for a foul by Sung-Yeung Ki on Jean Beausejour. Maynor Figueroa takes the free kick.3:31
Arouna Kone is caught offside. Free kick taken by Ashley Williams.1:21
Pablo Hernandez produces a cross, Effort from the edge of the penalty area by Sung-Yeung Ki goes wide of the left-hand post.0:41
Ben Davies sends in a cross.0:00
The referee gets the game started.
Live data and text provided by our data suppliers