Ollie Watkins’ early goal was enough for Aston Villa to do the double over Arsenal for the first time since 1992/93.
The forward scored after just 74 seconds of the match, finishing Bertrand Traore’s cutback with a deflected strike for his 10th league goal of the season.
Arsenal struggled to create clear chances in the first half, but Granit Xhaka’s free-kick forced a full-stretch save from Emiliano Martinez.
Mat Ryan, making his Arsenal debut in goal, kept out two efforts from Watkins shortly after half-time as Villa pushed for a second.
The Australian also made a good save to deny Jack Grealish with 11 minutes remaining.
Arsenal offered more threat in the second half but substitute Martin Odegaard missed their best chance with six minutes remaining when he shot over.
That win sees Aston Villa jump above Spurs into eighth with a game in hand on fifth-placed West Ham, while Arsenal remain 10th, still nine points off the top four.