The Ukrainian opened the scoring on 11 minutes, converting Marko Arnautovic's square pass after the Austrian had been put through.
Twenty minutes later, Yarmolenko had his second, a curling strike from just inside the penalty area.
Gylfi Sigurdsson gave Everton hope just before half-time when he headed in Jonjoe Kenny's cross.
But, on 61 minutes, Arnautovic restored West Ham's two-goal lead after a one-two with Pedro Obiang.
The closest Everton came to a response was when Oumar Niasse hit the bar as West Ham rose to 16th.
A first defeat this season drops Everton to 10th.
Everton: 23 Sep v Arsenal (A)
West Ham: 23 Sep v Chelsea (H)