Charlie Austin’s 85th-minute header clinched victory for Southampton manager Ralph Hasenhuttl on his home debut and ended Arsenal’s 22-match unbeaten run.
In a see-sawing encounter, the hosts took the lead after 20 minutes as Danny Ings muscled home a header from Matt Targett’s cross.
Henrikh Mkhitaryan nodded in shortly after for Arsenal, following good work by Alex Iwobi and Nacho Monreal – but Ings struck again just before the break.
Nathan Redmond’s floated cross was precise and Ings cushioned a looping effort into the far corner.
Arsenal turned the screw in the second half and restored parity as Mkhitaryan’s shot deflected in off Jannik Vestergaard.
The Gunners had their chances with Alex McCarthy impressing in the home goal, but Southampton were dangerous on the break and Shane Long had a goal rightly ruled offside before providing a teasing cross for Austin’s winner.
The victory takes Southampton out of the relegation zone and up to 17th.