Wigan got a seventh win from their final nine games with victory over relegated Wolverhampton Wanderers.
Matt Jarvis gave the hosts the lead against the run of play with a curling effort from distance.
Wigan levelled almost immediately through Franco di Santo's low finish and went ahead when Emmerson Boyce headed home Jean Beausejour's corner.
Boyce got his second with a spectacular volley, while Steven Fletcher's cool finish gave Wolves late solace.
The defeat brings down the curtain on a miserable season for Wolves, and sees them limp out of the top flight after a three-season stay with only one win in 24 matches.
In contrast, Wigan, bottom of the Premier League on 17 March, end the season seven points clear of the relegation zone, and played with the confidence of a side that had earned victories over Manchester United, Arsenal and Newcastle on the way to securing safety.
To celebrate their escape from the drop, and to look forward to an eighth successive season in the top flight, Athletic planned a minute's applause in the eighth minute of the game.
But, to spoil the celebrations, and against the run of play, Jarvis found space on the left, cut inside and produced a wonderful curling finish inside Ali Al Habsi's far post.
Wolves' final tally of 25 points is the fewest in the Premier League since Portsmouth's 19 in 2010, but Pompey had suffered a nine-point deduction. The fewest before that was Derby's 11 in 2008.
Wigan had already shown enough to suggest that their passing football would easily find a way through a Wolves defence that has often fallen short this season, and so it proved in the Latics' next attack.
Stephen Hunt dawdled on the ball, was dispossessed and, when Wolves were unable to clear the loose ball, Di Santo pounced to finish in visiting goalkeeper Dorus De Vries's bottom right corner.
Inevitably, given the confidence and form of the two sides, Wigan used the momentum of their equaliser to take an almost instantaneous lead, Boyce climbing highest to power in a header from Beausejour's corner.
With those three goals coming inside the opening 15 minutes, the rest of the first period was virtually devoid of any goalmouth action, though with Wolves unable to keep the ball and Wigan able to move it at will, the Latics looked the more likely side to add to their score.
The game remained open, and continued in a similar fashion in the second half, even though clear chances remained at a premium.
That changed though after an injured De Vries was forced from the pitch to be replaced by Carl Ikeme, who was forced to deal with efforts from Beausejour and Di Santo.
At the other end, Sylvan Ebanks-Blake headed over and Stephen Ward caused Al Habsi to save, but Wolves' hopes of leaving the Premier League with anything other than defeat were ended by Boyce.
A high ball was knocked down by substitute Hugo Rodallega, with Boyce smashing home a swerving volley.
There was still time for the visitors to take advantage of some sloppy Wigan defending - Fletcher finishing into an empty net after Kevin Doyle drew Al Habsi off his line, but that was merely the last rites of a miserable Wolves season.
Wigan manager Roberto Martinez: "I am proud and happy that the club are attracting a lot of good headlines and stories.
"We always need to be prepared that whatever happens is for the good of the club.
"We need to make sure we carry on with the progress we have been making in the last few years, not just on the pitch but off it.
"That is all I am bothered about; working hard and making sure the chairman is a proud man when he assesses his football club."
Wolves manager Terry Connor: "It was a frustrating way to sign off. It encapsulated the whole season and the reason why we have not been able to stay in the league.
"We had plenty of honest endeavour and commitment and no lack of attacking flair but we keep shooting ourselves in the foot by making mistakes as individuals.
"For the first goal we lost possession in the wrong area and the second goal was from a set-play from which everyone has their markers and should do better.
"It is really frustrating that even today the lads continued to give everything for the good of the team but have not been good enough to win."
- 26 Al Habsi
- 05 Caldwell
- 17 Boyce
- 24 Lopez Booked
- 31 Figueroa
- 04 McCarthy
- 10 Maloney (Gomez - 82' )
- 11 Moses (Crusat - 58' )
- 16 McArthur
- 22 Beausejour
- 09 Di Santo (Rodallega - 78' )
- 12 Pollitt
- 07 Crusat
- 08 Watson
- 14 Gomez
- 21 Diame
- 18 Sammon
- 20 Rodallega
- 31 De Vries (Ikeme - 51' )
- 05 Stearman Booked
- 11 Ward
- 16 Berra Booked
- 23 Zubar
- 04 Edwards
- 08 Henry
- 12 Hunt (Forde - 58' )
- 17 Jarvis
- 09 Ebanks-Blake (Fletcher - 75' )
- 29 Doyle
- 13 Ikeme
- 03 Elokobi
- 14 Johnson
- 20 Milijas
- 22 Jonsson
- 37 Forde
- 10 Fletcher
Live Text Commentary
Full Time The match has reached full-time.90:00 +3:29
Effort from inside the penalty box by Hugo Rodallega hits the post.90:00 +2:40
Unfair challenge on Karl Henry by Jordi Gomez results in a free kick. Karl Henry takes the free kick.90:00 +0:29
Corner taken right-footed by Jordi Gomez.90:00 +0:10
Albert Crusat takes a shot. Carl Ikeme makes a save.89:15
Karl Henry takes a shot. James McArthur gets a block in.88:35
Foul by Jordi Gomez on Karl Henry, free kick awarded. Karl Henry takes the free kick.87:31
Outswinging corner taken right-footed by Matthew Jarvis, save by Ali Al Habsi.85:22 Goal scored
Goal! - Steven Fletcher - Wigan 3 - 2 Wolves A goal is scored by Steven Fletcher from inside the area low into the middle of the goal. Wigan 3-2 Wolverhampton.84:19
Inswinging corner taken by Jordi Gomez, Carl Ikeme makes a comfortable save.81:30 Substitution
Substitution Shaun Maloney goes off and Jordi Gomez comes on.80:02
Corner taken by Jean Beausejour, Richard Stearman makes a clearance.78:38
Assist by Hugo Rodallega.78:38 Goal scored
Goal! - Emmerson Boyce - Wigan 3 - 1 Wolves Goal scored by Emmerson Boyce from the edge of the area to the top right corner of the goal. Wigan 3-1 Wolverhampton.77:33
Albert Crusat takes the free kick.77:33 Substitution
Substitution Hugo Rodallega on for Franco Di Santo.77:33
Free kick awarded for a foul by Matthew Jarvis on Albert Crusat.74:37
Free kick taken by Stephen Ward.74:37 Substitution
Substitution Sylvan Ebanks-Blake leaves the field to be replaced by Steven Fletcher.74:37
Unfair challenge on Christophe Berra by James McCarthy results in a free kick.
Short corner taken by Anthony Forde.73:26
The ball is swung over by Anthony Forde, clearance made by Gary Caldwell.72:42
Jean Beausejour handles the ball and concedes a free kick. Anthony Forde takes the free kick.72:04
Effort from deep inside the area by Albert Crusat misses to the right of the target.71:06
James McCarthy takes a shot. Kevin Doyle gets a block in.70:30
Outswinging corner taken by Shaun Maloney.70:18
Shaun Maloney takes a shot. Save by Carl Ikeme.69:18
Free kick awarded for a foul by Franco Di Santo on Christophe Berra. Carl Ikeme takes the indirect free kick.68:16
Unfair challenge on Anthony Forde by James McCarthy results in a free kick. Stephen Ward takes the free kick.68:04
Kevin Doyle takes a shot. Ali Al Habsi makes a save.67:41
Kevin Doyle takes a shot. Save by Ali Al Habsi.66:58
Free kick awarded for an unfair challenge on Sylvan Ebanks-Blake by Adrian Lopez. Indirect free kick taken by Matthew Jarvis.65:01
Free kick awarded for a foul by Albert Crusat on Stephen Ward. Carl Ikeme takes the free kick.63:22
Christophe Berra concedes a free kick for a foul on Franco Di Santo.63:19
Shaun Maloney takes the free kick.63:19 Booking
Booking Christophe Berra booked for unsporting behaviour.62:43
Sylvan Ebanks-Blake takes has a header from just inside the penalty box which clears the crossbar.62:32
Kevin Doyle takes a shot.61:11
Franco Di Santo takes a shot. Save by Carl Ikeme.60:11
Jean Beausejour takes a shot. Save made by Carl Ikeme.59:24
Free kick awarded for an unfair challenge on Franco Di Santo by Ronald Zubar. Shaun Maloney restarts play with the free kick.57:54 Substitution
Substitution Albert Crusat joins the action as a substitute, replacing Victor Moses.57:43
Free kick taken by Ali Al Habsi.57:43 Substitution
Substitution Anthony Forde comes on in place of Stephen Hunt.57:43
Unfair challenge on Adrian Lopez by Kevin Doyle results in a free kick.54:55
The official flags Franco Di Santo offside. Free kick taken by Carl Ikeme.53:12
Corner taken left-footed by Jean Beausejour, Christophe Berra manages to make a clearance.50:29
Gary Caldwell takes the indirect free kick.50:29 Substitution
Substitution (Wolverhampton) makes a substitution, with Carl Ikeme coming on for Dorus De Vries.50:29
Franco Di Santo fouled by Karl Henry, the ref awards a free kick.47:26
Victor Moses produces a right-footed shot from deep inside the penalty box which goes wide of the left-hand upright.45:29
The offside flag is raised against Franco Di Santo. Christophe Berra restarts play with the free kick.45:01
The second half begins.45:00 +2:10 Half time
Half Time The half-time whistle blows.45:00 +1:04
Matthew Jarvis challenges Adrian Lopez unfairly and gives away a free kick. Indirect free kick taken by Gary Caldwell.44:10
Stephen Hunt takes the free kick.44:10 Booking
Booking The referee shows Adrian Lopez a yellow card for unsporting behaviour.44:04
Unfair challenge on Stephen Ward by Adrian Lopez results in a free kick.38:25
Foul by Franco Di Santo on Ronald Zubar, free kick awarded. Dorus De Vries takes the indirect free kick.37:44
Headed effort from inside the area by Franco Di Santo misses to the right of the target.37:06
Unfair challenge on Shaun Maloney by Christophe Berra results in a free kick. Indirect free kick taken by James McArthur.32:45
Sylvan Ebanks-Blake takes a shot. Maynor Figueroa gets a block in.31:47
Sylvan Ebanks-Blake fouled by Franco Di Santo, the ref awards a free kick. Free kick taken by Richard Stearman.30:05
Free kick awarded for an unfair challenge on Kevin Doyle by Shaun Maloney. Karl Henry restarts play with the free kick.27:57
Floated corner taken left-footed by Jean Beausejour from the right by-line, clearance made by Christophe Berra.27:35
Victor Moses takes a shot. Blocked by Ronald Zubar.26:25
Short corner taken by Jean Beausejour from the left by-line.22:28
Free kick awarded for a foul by James McCarthy on David Edwards. Karl Henry takes the indirect free kick.19:02
Shaun Maloney fouled by Richard Stearman, the ref awards a free kick.18:56
Jean Beausejour takes the indirect free kick.18:56 Booking
Booking The referee shows Richard Stearman a yellow card for unsporting behaviour.16:40
Effort from outside the box by Stephen Hunt goes wide right of the target.14:59
Kevin Doyle takes a shot. Blocked by Gary Caldwell.13:15
Assist by Jean Beausejour.13:15 Goal scored
Goal! - Emmerson Boyce - Wigan 2 - 1 Wolves Emmerson Boyce fires in a goal from close range high into the middle of the goal. Wigan 2-1 Wolverhampton.12:59
Corner taken by Jean Beausejour from the left by-line,12:47
Shaun Maloney takes a shot. Save by Dorus De Vries.11:03
Assist by James McCarthy.11:03 Goal scored
Goal! - Franco Di Santo - Wigan 1 - 1 Wolves Franco Di Santo fires in a goal from just outside the area to the bottom left corner of the goal. Wigan 1-1 Wolverhampton.8:37
David Edwards provided the assist for the goal.8:37 Goal scored
Goal! - Matthew Jarvis - Wigan 0 - 1 Wolves Matthew Jarvis grabs a goal from just inside the penalty area to the top right corner of the goal. Wigan 0-1 Wolverhampton.8:24
Unfair challenge on David Edwards by Victor Moses results in a free kick. Stephen Ward takes the indirect free kick.7:08
Unfair challenge on James McCarthy by Stephen Ward results in a free kick. Gary Caldwell takes the indirect free kick.5:20
Christophe Berra fouled by Franco Di Santo, the ref awards a free kick. Christophe Berra takes the indirect free kick.1:43
Maynor Figueroa challenges Stephen Hunt unfairly and gives away a free kick. Indirect free kick taken by Ronald Zubar.0:10
Outswinging corner taken by Jean Beausejour, Christophe Berra manages to make a clearance.0:00
The match has kicked off.
Live data and text provided by our data suppliers