Danny Ings twice gave the Saints the lead only for two Henrikh Mkhitaryan goals to get Arsenal back on level terms, but Charlie Austin headed home a late winner to hand boss Ralph Hasenhuttl his first win since his arrival at the club.
Southampton now move out of the relegation zone after recording just their second success of the campaign, while Arsenal remain fifth having suffered their first defeat in any competition since the second weekend of the season.
The first opportunity of the game went Arsenal's way in the sixth minute, but after being picked out by a fine pass from Matteo Guendouzi, Pierre-Emerick Aubameyang was denied by Alex McCarthy from 12 yards out.
Southampton took a while to find their stride but, shortly after Bernd Leno had been equal to a curling effort from Stuart Armstrong, Ings gave the Saints a deserved lead when he was able to powerfully head home at the near post after meeting Matt Targett's cross.
Ings was soon denied a second from the edge of the area with Leno making a comfortable save, but it was not long before Arsenal were back on level terms with Mkhitaryan finding the bottom corner with a header from by the penalty spot after some brilliant work down the left from Nacho Monreal.
Arsenal pushed for a second in quick succession, but Ings continued to drive Southampton forward at the other end and was deserving of his second goal of the contest just before the break.
Unai Emery introduced Alexandre Lacazette for the injured Hector Bellerin at half time and Arsenal went straight onto the attack, with Aubameyang seeing a shot blocked by McCarthy after latching onto a Mkhitaryan pass.
However, the Gunners soon had their second leveller of the contest as Mkhitaryan's tame shot from the edge of the area was deflected into the centre of the goal with McCarthy having already dived to his left.
Alex Iwobi could have given the visitors the lead shortly afterwards but instead fired over when attempting to find the top corner, and it appeared that Southampton were beginning to wilt after an high-intensity hour of football.
The introduction of Shane Long gave the home side some much-needed energy in the final third and the Irishman thought he had put his side back in front, only for the assistant to raise her flag when the ball was bundled home from an offside position after Leno had superbly kept out Maya Yoshida's header.
However, Long soon played his part in getting Southampton back in front. The substitute's floated cross should have been dealt with by Leno but the ball was missed by the goalkeeper, leaving Austin to head into an empty net from close range.
Arsenal pushed for a third equaliser of an absorbing contest but, after Guendouzi had headed harmlessly over the crossbar from 14 yards, Southampton were able to see out the closing seconds to register their first home win of the season.
SOUTHAMPTON (3-4-3): McCarthy; Yoshida, Vestergaard, Bednarek; Valery, Romeu, Hojbjerg, Targett; Redmond (Long 63'), Armstrong (Johnson 94'), Ings (Austin 71')
ARSENAL (3-4-3): Leno; Lichtsteiner (Maitland-Niles 74'), Koscielny, Xhaka; Bellerin (Lacazette 46'), Guendouzi, Torreira, Monreal; Mkhitaryan, Iwobi (Ozil 70'), Aubameyang