Neal Maupay opened his account for Everton to earn their first Premier League win of the season with victory over West Ham at Goodison Park.
Maupay, who joined from Brighton for £15m in August, turned on Alex Iwobi's pass and smashed the ball past Lukasz Fabianksi as it sat up on the bounce.
The hosts had chances to extend their lead, with the impressive Demarai Gray having an effort saved by Fabianksi.
West Ham, whose tally of three goals is the joint fewest goals in the top flight, were toothless in attack.
Michail Antonio could only direct a header straight at Asmir Begovic, while Said Benrahma's effort came back off a post.
Everton climb to 13th in the table, while West Ham remain in the relegation zone in 18th.
Everton get their reward as Hammers fall short
After losing their opening two games, Everton are unbeaten in five league games, but victory was elusive before West Ham's arrival in Merseyside.
Everton started brightly and Gray provided a constant threat down the left, testing Fabianski thanks to a fierce effort with minimal backlift and often beating his man and flashing crosses across the box.
Everton have struggled in front of goal themselves - only West Ham and Wolves have managed fewer league goals this season - but Maupay, playing his second game, provided the cutting edge with an excellent finish.
West Ham had a quick turnaround following their Europa Conference League win at Danish side Silkeborg IF on Thursday, and their performance appeared lacklustre.
Although they 14 shots - double the number Everton managed - it was not until Maupay's goal that the Hammers seemed to spark into life.
Antonio should have done more with his header before Benrahma's effort caught Begovic and the Everton defence by surprise as it hit the woodwork.
Five league defeats from seven games will be a concern for West Ham manager David Moyes, whose side host fellow strugglers Wolves in their next match on 1 October.
Player of the match
IwobiAlexander Iwobi
Everton
Squad number17Player nameIwobi
Squad number11Player nameGray
Squad number3Player namePatterson
Squad number30Player nameCoady
Squad number20Player nameMaupay
Squad number27Player nameGueye
Squad number2Player nameTarkowski
Squad number19Player nameMykolenko
Squad number8Player nameOnana
Squad number15Player nameBegovic
Squad number10Player nameGordon
Squad number7Player nameMcNeil
Squad number16Player nameDoucouré
Squad number33Player nameRondón
West Ham United
Squad number1Player nameFabianski
Squad number24Player nameKehrer
Squad number20Player nameBowen
Squad number41Player nameRice
Squad number9Player nameAntonio
Squad number22Player nameBenrahma
Squad number14Player nameCornet
Squad number3Player nameCresswell
Squad number11Player nameLucas Paquetá
Squad number5Player nameCoufal
Squad number7Player nameScamacca
Squad number28Player nameSoucek
Squad number33Player nameEmerson
Squad number8Player nameFornals
Squad number4Player nameZouma
Line-ups
Everton
Formation 4-3-3
15Begovic
3Patterson30Coady2Tarkowski19Mykolenko
8Onana27Gueye17Iwobi
11Gray20Maupay10Gordon
15Begovic3Patterson30CoadyBooked at 28mins2Tarkowski19Mykolenko8Onana27Gueye17Iwobi11GraySubstituted forDoucouréat 81'minutes20MaupaySubstituted forRondónat 89'minutes10GordonBooked at 62minsSubstituted forMcNeilat 75'minutesBooked at 90minsSubstitutes
5Keane7McNeil16Doucouré23Coleman26Davies29Vinagre33Rondón35Jakupovic37GarnerWest Ham
Formation 4-2-3-1
1Fabianski
5Coufal4Zouma24Kehrer3Cresswell
28Soucek41Rice
20Bowen11Tolentino Coelho de Lima8Fornals
9Antonio
1Fabianski5Coufal4Zouma24Kehrer3CresswellSubstituted forEmersonat 90+3'minutes28Soucek41Rice20Bowen11Tolentino Coelho de LimaSubstituted forCornetat 62'minutes8FornalsSubstituted forBenrahmaat 62'minutes9AntonioSubstituted forScamaccaat 70'minutesBooked at 90minsSubstitutes
7Scamacca10Lanzini12Downes13Areola14Cornet15Dawson21Ogbonna22Benrahma33EmersonReferee:Michael OliverAttendance:39,298Live Text
Match ends, Everton 1, West Ham United 0.
Second Half ends, Everton 1, West Ham United 0.
Gianluca Scamacca (West Ham United) is shown the yellow card for a bad foul.
Idrissa Gueye (Everton) wins a free kick in the defensive half.
Foul by Gianluca Scamacca (West Ham United).
Dwight McNeil (Everton) is shown the yellow card for a bad foul.
Foul by Dwight McNeil (Everton).
Vladimír Coufal (West Ham United) wins a free kick in the defensive half.
Substitution, West Ham United. Emerson replaces Aaron Cresswell.
Corner, West Ham United. Conceded by Asmir Begovic.
Foul by Alexander Iwobi (Everton).
Jarrod Bowen (West Ham United) wins a free kick in the defensive half.
Substitution, Everton. Salomón Rondón replaces Neal Maupay.
Attempt missed. Maxwel Cornet (West Ham United) left footed shot from the left side of the six yard box is close, but misses to the left.
Attempt missed. Alexander Iwobi (Everton) right footed shot from outside the box misses to the left. Assisted by Vitalii Mykolenko.
James Tarkowski (Everton) wins a free kick in the defensive half.
Foul by Gianluca Scamacca (West Ham United).
Corner, West Ham United. Conceded by Asmir Begovic.
Attempt saved. Maxwel Cornet (West Ham United) left footed shot from the left side of the box is saved in the top left corner. Assisted by Declan Rice.
Substitution, Everton. Abdoulaye Doucouré replaces Demarai Gray.
Our coverage of your Premier League club is bigger and better than ever before - here's everything you need to know to make sure you never miss a moment