Goalkeeper Mat Ryan conceded 74 seconds into his debut for Arsenal as Aston Villa completed their first top-flight double over the Gunners for 28 years.
Former Arsenal keeper Emiliano Martinez started the move which led to Bertrand Traore pouncing on a mistake by Cedric Soares before Ollie Watkins scored with a shot that deflected off Rob Holding.
Boyhood Gunners fan Ryan, signed on loan from Brighton in January and starting in place of suspended first-choice keeper Bernd Leno, produced a fine save to deny Traore a goal on his return to the Villa side.
Martinez frustrated his former club further when the Argentine produced an excellent save to keep out Granit Xhaka’s free-kick.
Villa move up to eighth in the Premier League while Arsenal’s second successive defeat leaves them 10th.