Match ends, Aston Villa 0, Everton 2.
Romelu Lukaku scored his fifth goal in as many games as Everton continued their excellent run at Aston Villa.
The Belgium striker, who was kept quiet for most of the game by the Villa defence, struck from the edge of the box midway through the second half.
He overshadowed compatriot Christian Benteke, who earlier had a penalty saved by Everton goalkeeper Tim Howard.
As Villa pressed for a late leveller, Leon Osman stroked in for Everton's fifth victory in six league games.
The substitute's goal might have been harsh on the hosts, but they suffered their second consecutive home defeat after failing to take advantage of some superb first-half opportunities.
That was largely down to Howard, who also saved two one-on-one breaks from Benteke and Andreas Weimann.
But Villa boss Paul Lambert may take positives from the fact his side have a favourable run of fixtures in November after having now faced six of last season's top seven teams.
Having withstood early pressure, victory for Everton - who climb to fourth in the table - provided further evidence of their growing confidence under boss Roberto Martinez as they again showed the necessary steel to go with some incisive attacking play.
Billed as the battle of the Belgian strikers between Benteke and Lukaku, it was the Everton forward who made a decisive mark on the game before Osman sealed the three points.
Benteke, on the other hand, had been guilty of wastefulness in a lively opening first period.
Villa's top scorer, returning to the starting line-up after a hip injury, won the early penalty after being tripped in the penalty box by Seamus Coleman.
The 22-year-old stepped up confidently, but Howard dived superbly to his right to tip the ball over the bar with his left hand.
The Villa forward again could not find a way past Howard when he was put through by Aleksandar Tonev as the game opened up around the half-hour mark, while Weimann was also culpable of wasting a great chance as he raced through on goal.
Villa did not look like a side which has won more points away from home than at Villa Park under Lambert, but their failure to capitalise appeared to give Everton confidence.
The visitors had their own profitable spell when Lukaku's header was saved before Ross Barkley's 25-yard shot was deflected onto the bar.
Although both teams continued to press for an opener after the break, it was Villa who had the initiative until Lukaku made his mark.
Having been well marked by Ron Vlaar for most of the afternoon, the 20-year-old striker was found by Osman's pass and made no mistake by finding the bottom corner from the edge of the area for his 16th goal in 2013.
Villa responded, but this time it was Gabriel Agbonlahor who shot straight at Howard when Weimann's low centre found the English striker in space.
And, following a cleared corner, Osman sealed the win when he passed into the bottom corner after good work by Gareth Barry.
Aston Villa boss Paul Lambert:
"It hurts because we should have been three up in the first half. With Christian Benteke's two chances and one from Andreas Weimann we had big moments in the game, but that's the way football is. We can't be too harsh on the lads because more times than not they score those."
Everton boss Roberto Martinez on Romelu Lukaku:
"He looked a real threat throughout the game. He didn't just contribute with the goal, his movement was terrific and his starting positions were always difficult to pick for the Villa back four. You are seeing a player that is enjoying his football and we want to see that continue."
- 14LunaSubstituted forClarkat 45+1'minutes
- 24TonevSubstituted forHeleniusat 77'minutes
- 8El Ahmadi
- 24HowardBooked at 87mins
- 11MirallasSubstituted forDeulofeuat 90'minutes
- 16McCarthyBooked at 62mins
- 20BarkleySubstituted forOsmanat 60'minutes
- 22PienaarSubstituted forNaismithat 80'minutes
- Anthony Taylor
- Shots on Target
Second Half ends, Aston Villa 0, Everton 2.
Leighton Baines (Everton) wins a free kick on the left wing.
Foul by Andreas Weimann (Aston Villa).
Attempt missed. Leighton Baines (Everton) left footed shot from outside the box misses to the right. Assisted by James McCarthy.
Corner, Everton. Conceded by Nathan Baker.
Substitution, Everton. Gerard Deulofeu replaces Kevin Mirallas.
Offside, Everton. Leon Osman tries a through ball, but Kevin Mirallas is caught offside.
Corner, Everton. Conceded by Nathan Baker.
Tim Howard (Everton) is shown the yellow card.
Attempt missed. Steven Naismith (Everton) right footed shot from outside the box is close, but misses to the left. Assisted by Gareth Barry following a set piece situation.
Steven Naismith (Everton) wins a free kick on the left wing.
Foul by Leandro Bacuna (Aston Villa).
Goal! Aston Villa 0, Everton 2. Leon Osman (Everton) left footed shot from outside the box to the bottom left corner. Assisted by Gareth Barry following a corner.
Substitution, Everton. Steven Naismith replaces Steven Pienaar.
Corner, Everton. Conceded by Ciaran Clark.
Attempt blocked. Romelu Lukaku (Everton) left footed shot from the left side of the box is blocked. Assisted by Steven Pienaar.
Foul by Gareth Barry (Everton).
Leandro Bacuna (Aston Villa) wins a free kick in the defensive half.
Substitution, Aston Villa. Nicklas Helenius replaces Aleksandar Tonev.