Match ends, Everton 3, Swansea City 2.
Everton strengthened their hopes of qualifying for Europe after a battling win over Swansea lifted them into fifth spot in the Premier League table.
Leighton Baines put the Toffees ahead from the penalty spot after Chico Flores brought down Ross Barkley.
Swansea equalised when Wilfried Bony pounced on Angel Rangel's cross before Romelu Lukaku restored Everton's lead after a centre by Kevin Mirallas.
Barkley's low header made it 3-1 before Ashley Williams's late consolation.
It is four years since Goodison Park last hosted competitive European action.
But the Toffees move above Tottenham into a Europa League spot after a sixth straight home league win.
It was far from vintage Everton and it required two outstanding saves by goalkeeper Tim Howard to secure maximum points after two goals in five second-half minutes had put the hosts in command.
Swansea made the hosts work for victory, but the Welsh club's concerns near the bottom of the table continue.
Now without a win in five top-flight games, they remain just four points above the relegation zone and face Arsenal in London on Tuesday.
The Toffees were ahead in the 20th minute, Baines tucking home his side's first top-flight penalty at Goodison Park since January 2013.
Referee Michael Oliver did not hesitate in pointing to the spot after Flores marked his return to the Swans side with a clumsy challenge on Barkley just inside the area.
Yet they struggled to to build on their encouraging start, and Swansea were back on level terms when Bony pounced on Rangel's delightful 33rd minute cross.
Suddenly, the visitors had the momentum. Pablo Hernandez went close with a heavily deflected free-kick shortly after but two quick goals early in the second half secured victory for Roberto Martinez's side.
Lukaku, who had rarely threatened, restored the lead with his 11th league goal of the season after a clever one-two with Mirallas in the 53rd minute.
And it looked all over for the visitors when Barkley's low header from four yards following a 58th-minute corner made it 3-1.
But credit to the battling Swans. Howard produced a sublime one-handed save to deny Bony a second goal, while the Everton goalkeeper also denied Hernandez from close range.
Yet Swansea's second goal, courtesy of a header by captain Williams, arrived too late to alter the outcome.
Everton manager Roberto Martinez:
"I am very pleased. We faced a really difficult test in Swansea and to get the all-important three points is a fantastic feeling.
"We deserved the two-goal lead but at that point we sat back a little bit too much, trying to use the counter-attack - but overall I was very pleased with the maturity we had.
"The Europa League is not our aim, our aim is to get as many points as we can. Champions League football will be around 71 points - that is our target."
Swansea manager Garry Monk:
"If I thought I wasn't doing the right things I am honest enough to know. I will hold my hands up.
"When you come to places like this - and pretty much any game - there is always a period when the opposition have pressure and you have to manage it properly, get through it unscathed and make the right choices.
"We didn't do it and it cost us dearly. If we hadn't given them such a lead we could have been able to come away with something."
- 17LukakuSubstituted forDeulofeuat 90+3'minutes
- 20BarkleySubstituted forNaismithat 84'minutes
- 7McGeadySubstituted forOsmanat 85'minutes
- 4Flores Moreno
- 12DyerSubstituted forShelveyat 63'minutes
- 21Cañas Ruiz HerreraSubstituted forDe Guzmánat 69'minutes
- 10BonySubstituted forPérez Cuestaat 70'minutes
- 9Pérez Cuesta
- 20De Guzmán
- Michael Oliver
- Shots on Target
Second Half ends, Everton 3, Swansea City 2.
Substitution, Everton. Gerard Deulofeu replaces Romelu Lukaku.
Goal! Everton 3, Swansea City 2. Ashley Williams (Swansea City) header from the centre of the box to the top left corner. Assisted by Pablo Hernández with a cross following a corner.
Corner, Swansea City. Conceded by Leighton Baines.
Attempt missed. Michu (Swansea City) header from the centre of the box is too high. Assisted by Jonjo Shelvey.
Foul by Michu (Swansea City).
Kevin Mirallas (Everton) wins a free kick in the defensive half.
Substitution, Everton. Leon Osman replaces Aiden McGeady.
Substitution, Everton. Steven Naismith replaces Ross Barkley.
Attempt missed. Michu (Swansea City) header from the centre of the box misses to the right. Assisted by Angel Rangel with a cross.
Attempt saved. Pablo Hernández (Swansea City) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Jonjo Shelvey.
Chico (Swansea City) wins a free kick in the defensive half.
Foul by Kevin Mirallas (Everton).
Foul by Ashley Williams (Swansea City).
Leighton Baines (Everton) wins a free kick in the defensive half.
Corner, Swansea City. Conceded by Sylvain Distin.
Attempt blocked. Michu (Swansea City) left footed shot from the left side of the box is blocked. Assisted by Jonjo Shelvey.
Leon Britton (Swansea City) wins a free kick in the defensive half.
Foul by Seamus Coleman (Everton).