Match ends, West Ham United 3, Everton 1.
West Ham moved up two places in the Premier League table to finish 13th after a Manuel Lanzini-inspired win over Everton in what could be the final game in charge for both managers.
Striker Marko Arnautovic's thumping second-half goal added to playmaker Lanzini's opener before the break and David Moyes' men ended a turbulent campaign on a high when the Argentine curled a third past Jordan Pickford near the end.
Everton, who pulled one back through Oumar Niasse, finished eighth after ninth-placed Leicester's defeat but some supporters chanted for manager Sam Allardyce to be sacked, as out-of-contract Moyes will also reflect on his next step.
West Ham goalkeeper Adrian made late saves to deny Niasse and Everton substitute Theo Walcott.
Moyes, who hinted his preference was to stay, said: "Everybody always thinks the grass is greener and there's something better out there. I would say more often than not I bet you it's proved wrong.
"We've shown we're trying to improve. I don't know if anybody can come and make that big a difference in six months. Even Pep Guardiola took a bit of time to get his team right.
"I'd think you'd need to give a bit longer. But every manager now is in transit. I don't think there is a long period."
Echoing that air of uncertainty - Allardyce gave a curt response to questions on his future. He said: "I can't quite say confident after all the rumours I'm reading in the paper. Generally there's no smoke without fire. We'll wait and see when we meet up."
West Ham defender James Collins, who is yet to sign a new deal and is out of contract in the summer, received a standing ovation when he replaced Aaron Cresswell near the end and wept at the final whistle, suggesting his 10 years of service over two spells may be coming to an end.
And the Hammers' supporters cheered the players as they made their lap of appreciation around the London Stadium pitch in the sunshine, a markedly more upbeat atmosphere than at times this season.
- Man City were behind in games for just 153 minutes this season - final-day stats round-up
- The Premier League table - from August to May
Star man Arnie shines
Seven points from the last three games and another impressive showing from Arnautovic ensured the Hammers signed off the campaign with a smile.
The Austrian forward was referred to as the "star man" by team-mate Cresswell afterwards and Moyes believes changing his role from the wing to up front was a turning point in their season.
"Maybe he wasn't doing as much and tracking back on the wing," said the Scot before Sunday's win. "He's been a sensation up front, he's been playing as well as most strikers."
The man they call 'Arnie' brushed past the visiting defence with ease to smash the second goal of the game past Pickford and led the line strongly throughout while also making five key passes.
Moyes' ability to get the best out of a player who underwhelmed initially after joining from Stoke last summer certainly helped West Ham remain in the top flight.
Arnautovic scored 11 goals and applied himself consistently as the club pulled away from danger to secure survival last weekend.
Moyes could not add further clarity on his future after the final whistle but even if he departs, he can reflect on a job well done in his brief reign since taking over from Slaven Bilic in November.
Uncertainty lingers for Allardyce
A change in manager ultimately ensured Premier League survival for both of these clubs, but fan unrest continues.
Some Evertonians have been unhappy with Allardyce's reign in recent weeks, and those dissenters will not have been appeased with this result.
The former England boss started with a back three, bringing Argentina international Ramiro Funes Mori into his line-up next to Phil Jagielka and Michael Keane.
It didn't work, however, as Lanzini scored an impressive opener and Arnautovic was allowed to turn and run at goal too easily in the build-up to his strike.
Despite changing to a back four in the second half, which brought Everton back into the contest for a while, they still conceded to Lanzini again when he got ahead of Seamus Coleman and curled a shot into the top corner.
Allardyce will point to key saves by Adrian which denied his men but supporters in the away end booed his decision to take off striker Cenk Tosun in the second half, with the Turk also visibly unhappy after receiving precious little service throughout.
Despite having more shots on target than the hosts, Everton came away with nothing.
"Overall we managed to seal eighth spot and a few more coffers in the pot for the club," said Allardyce, who will meet the club's owner Farhad Moshiri in the next few days.
Man of the match - Manuel Lanzini (West Ham)
'There is something to build on here' - what they said
West Ham manager David Moyes said: "I can't say (about the future) because I am no further forward. We will meet and talk next week, we haven't arranged a date or a time.
"What will influence me? When you get good performances. It makes you feel 'hey, there's something to build on here'."
Everton manager Sam Allardyce, speaking to BBC Sport: "It is disappointing to lose the game when the chances we missed were better than the chances they scored with.
"But then you have to credit Adrian for being absolutely outstanding with three top-class saves.
"All three should have gone in - that's where the difference was. I am pleased with the second half, not so pleased with the first half."
Moyes retains upper hand over Allardyce - the stats
- David Moyes has won eight of his last nine meetings with Sam Allardyce in the competition (L1), including each of his last six in a row.
- Allardyce has lost four of his last five final-day games (D1), with his last win coming with the Hammers against Reading in May 2013.
- Allardyce lost his 200th Premier League game, becoming only the second manager to do so (after Harry Redknapp, 238 defeats).
- West Ham's 13th-place finish is their lowest since 2013-14 when they also finished 13th.
- Everton have won just one of their last 15 away Premier League games in London (D6 L8), winning 1-0 at Crystal Palace in January 2017.
- Manuel Lanzini has been directly involved in 11 Premier League goals this season (five goals, six assists), his best figures in an English top-flight campaign.
- After failing to register a goal involvement in his first 11 Premier League games for West Ham, Marko Arnautovic scored 11 and assisted six in his following 20 appearances.
- Arnautovic has scored 11 Premier League goals this season, the most by a West Ham player in a single top-flight campaign since Bobby Zamora in 2006-07 (also 11).
- Oumar Niasse netted eight goals in the Premier League for Everton in 2017-18 - double his tally from his previous two top-flight campaigns (4).
- 3CresswellSubstituted forCollinsat 88'minutes
- 26MasuakuSubstituted forFernandesat 21'minutes
- 18João Mário
- 10LanziniSubstituted forObiangat 86'minutes
- 25Funes MoriBooked at 16minsSubstituted forKlaassenat 45'minutes
- 26DaviesSubstituted forBolasieat 83'minutes
- 14TosunSubstituted forWalcottat 61'minutes
- Graham Scott
- Shots on Target
Second Half ends, West Ham United 3, Everton 1.
Attempt missed. James Collins (West Ham United) header from the centre of the box is high and wide to the right. Assisted by João Mário with a cross following a corner.
Corner, West Ham United. Conceded by Leighton Baines.
Mark Noble (West Ham United) wins a free kick on the right wing.
Foul by Davy Klaassen (Everton).
Foul by Marko Arnautovic (West Ham United).
Phil Jagielka (Everton) wins a free kick in the defensive half.
Substitution, West Ham United. James Collins replaces Aaron Cresswell.
Edimilson Fernandes (West Ham United) wins a free kick on the left wing.
Foul by Idrissa Gueye (Everton).
Edimilson Fernandes (West Ham United) wins a free kick in the defensive half.
Foul by Yannick Bolasie (Everton).
Substitution, West Ham United. Pedro Obiang replaces Manuel Lanzini.
Corner, Everton. Conceded by Adrián.
Attempt saved. Oumar Niasse (Everton) right footed shot from the centre of the box is saved in the top right corner.
Attempt saved. Theo Walcott (Everton) right footed shot from the centre of the box is saved in the bottom left corner. Assisted by Oumar Niasse with a through ball.
Offside, Everton. Oumar Niasse tries a through ball, but Theo Walcott is caught offside.
Substitution, Everton. Yannick Bolasie replaces Tom Davies.
Goal! West Ham United 3, Everton 1. Manuel Lanzini (West Ham United) right footed shot from the left side of the box to the bottom right corner. Assisted by Pablo Zabaleta.