Match ends, Swansea City 1, Everton 0.
Swansea City leapfrogged Hull City to climb out of the Premier League relegation zone with two games remaining after Fernando Llorente headed the winner against Everton.
Llorente got the better of Phil Jagielka to nod Jordan Ayew's cross past goalkeeper Maarten Stekelenburg from close range - the Spaniard's 13th league goal of the season.
Mason Holgate's last-ditch challenge prevented Alfie Mawson from making it 2-0 before Ayew hit the post from 16 yards.
Hull, who earlier lost 2-0 at home to relegated Sunderland, drop into the bottom three, while this result also means Middlesbrough will be relegated to the Championship if they lose to leaders Chelsea at Stamford Bridge on Monday (20:00 BST).
Everton were poor throughout, Romelu Lukaku going closest when he blazed into the side-netting after a powerful run.
At the other end, Stekelenburg produced a fine stop to deny substitute Leroy Fer from making it 2-0 for Swansea, who are unbeaten in three league games.
Swansea's fate in their own hands
On a dramatic day at the bottom of the table, Swansea took advantage of earlier slips by Hull and Crystal Palace to leave their Premier League future in their own hands.
The Swans are away to relegated Sunderland on 13 May and at home to eighth-placed West Brom on 21 May, the final day. If they win both games they will stay up.
Hull are away at Crystal Palace, who are four points above the relegation zone after a 5-0 defeat at Manchester City, on 14 May before hosting second-placed Tottenham on the last day.
Palace's final match of the season is at Manchester United, who are unbeaten in their past 24 league games.
Hull result inspires the Swans
For the Swans, a passionate fanbase turned into a delirious one before a ball was even kicked in south Wales, after Sunderland's victory over Hull.
That lifted a boisterous Liberty Stadium, but it took almost half an hour before Swansea created a big opportunity in a cagey contest.
When they did, they took it expertly, Llorente heading home from close range after Ayew's twisting run and deflected cross fell perfectly.
Holgate then produced an outstanding challenge to deny Mawson, with a Jagielka block also denying Martin Olsson's effort from an acute angle.
Swansea continued to carve out the better chances, Ayew's volley with the outside of his foot hitting the post, and it was not until the 66th minute that Lukasz Fabianski was seriously tested by Lukaku's 20-yard shot.
The hosts spurned further chances through Llorente and Fer. It might have cost Swansea at the death when their former skipper Ashley Williams was inches away from heading home, but he couldn't quite convert from Kevin Mirallas' flick-on.
Everton eyes on next season
Everton stay seventh, two points behind sixth-placed Arsenal but having played three games more than the Gunners.
The Toffees have the feel of a club already building for next term.
Ross Barkley, whose future in unclear as his contract runs down, was dropped by Ronald Koeman as was loanee Enner Valencia.
Barkley's introduction at half-time was evidence that Everton had lacked panache in the final third, with Fabianski entirely untroubled before the break.
Everton had won eight of their past 11 visits to Swansea, but not even returning Wales captain Williams - whose every touch was jeered by a section of the home fans - could inspire the visitors.
Man of the Match - Fernando Llorente (Swansea City)
'Hull result gave us a lift' - what they said
Swansea boss Paul Clement: "It is one of my proudest moments. What a fantastic, gritty performance. It was so important we got that result after what happened at Hull.
"We have hit some form both offensively and especially defensively. We have played against really good opposition and seven points from three games is a fantastic tally.
"It gave us a lift before the game knowing that result had gone in our favour, we knew if we did something special we could get out of the relegation zone.
"We really defended well."
Everton boss Ronald Koeman: "It was not good enough. The difference is one goal, we had maybe more ball possession, it was difficult to create open chances.
"The final part, we had to be a little bit more aggressive in the box. The problem is in the last few weeks to create chances - we don't score in the last three games.
"In my opinion, seventh position is a good position and next Friday is important to give the fans a win they deserve."
'End of season goal drought' - the stats
- Everton have failed to score in their past three Premier League games for the first time since a four-game drought in April 2006.
- Swansea have taken seven points from their past three league games after picking up just one in the six before that.
- The Toffees have lost an away league game in Wales for the first time in their past 11 games there (W5 D5), since a 1-0 defeat to Cardiff at Ninian Park in December 1956.
- This is Fernando Llorente's best goal haul in a league season (13) since 2013-14 (16 with Juventus).
- Jordan Ayew has provided an assist in three of his past six Premier League games, this after failing to assist in any of his first 36 in the competition.
Swansea visit relegated Sunderland in their penultimate match of the season on Saturday, 13 May (15:00 BST), while Everton host 15th-placed Watford next Friday (19:45 BST).
- 4Ki Sung-yuengSubstituted forFerat 75'minutes
- 7BrittonSubstituted forCorkat 73'minutes
- 23G Sigurdsson
- 3J Ayew
- 9LlorenteSubstituted forBastónat 87'minutes
- 30HolgateSubstituted forKennyat 78'minutes
- 18BarrySubstituted forE Valenciaat 65'minutes
- 29Calvert-LewinSubstituted forBarkleyat 45'minutes
- 19E Valencia
- Martin Atkinson
- Shots on Target
Second Half ends, Swansea City 1, Everton 0.
Attempt saved. Gylfi Sigurdsson (Swansea City) right footed shot from outside the box is saved in the top left corner. Assisted by Borja Bastón.
Foul by Jonjoe Kenny (Everton).
Borja Bastón (Swansea City) wins a free kick in the defensive half.
Foul by Leighton Baines (Everton).
Jordan Ayew (Swansea City) wins a free kick in the defensive half.
Attempt missed. Enner Valencia (Everton) header from the centre of the box is too high. Assisted by Leighton Baines with a cross following a corner.
Corner, Everton. Conceded by Federico Fernández.
Corner, Everton. Conceded by Jordan Ayew.
Corner, Everton. Conceded by Alfie Mawson.
Substitution, Swansea City. Borja Bastón replaces Fernando Llorente.
Leighton Baines (Everton) wins a free kick in the attacking half.
Foul by Fernando Llorente (Swansea City).
Ashley Williams (Everton) wins a free kick in the defensive half.
Foul by Fernando Llorente (Swansea City).
Attempt missed. Leighton Baines (Everton) left footed shot from outside the box is high and wide to the left.
Attempt missed. Romelu Lukaku (Everton) right footed shot from the right side of the box is close, but misses to the right. Assisted by Ross Barkley.
Foul by Idrissa Gueye (Everton).
Leroy Fer (Swansea City) wins a free kick in the defensive half.