Goals from Bacary Sagna and Cesc Fabregas either side of half-time proved decisive for the Gunners at Goodison Park.
Samir Nasri and Marouane Chamakh both spurned glorious chances to add to the lead but Everton had a number of clear-cut chances themselves.
Tim Cahill headed over early on and Jack Rodwell, making his first appearance in 11 weeks, missed the target from in front of goal.
Jermaine Beckford, Steven Pienaar and Louis Saha all brought great saves out of Lukasz Fabianski before Cahill finally did strike in the last minute.
It came too late to avoid defeat but Everton could also bemoan some controversial decisions from referee Howard Webb.
Pienaar was denied an apparent free-kick on the edge of the box and Sebastien Squillaci was fortunate not to be sent off for felling Saha, who also struck a shot against Alex Song's arm.
Despite his side's chances and contribution to an entertaining game, Everton boss Moyes felt his team deserved little from the match.
The loss ended the Toffees' seven-match unbeaten run and left them 13th in the table.
"We didn't play well enough to win the game," said Moyes.
"They didn't do enough to get in front of us and we didn't do enough to get in front of them but they got the vital first goal.
"The killer blow was to score a second goal just after half-time before we had chance to mount any pressure."