Arsene Wenger's side was comfortably second best in the first half and was lucky to be only 1-0 down after Jose Fonte's header. Leader Arsenal hit back in style after the break, Olivier Giroud leveling matters in the 48th minute with a backheel before Santi Cazorla put the Gunners ahead four minutes later with an angled drive.
That lead did not last long, however, as Adam Lallana converted Jay Rodriguez's pass for the third goal in six frantic second-half minutes.
Mathieu Flamini was shown a straight red card 10 minutes from time for a two-footed lunge on Morgan Schneiderlin, but Southampton failed to make its numerical advantage count in the final moments as Mauricio Pochettino's team remains in ninth place, unbeaten in five matches in all competitions.
The hosts made two changes from their previous Premier League outing – a 2-2 draw at Sunderland - as Maya Yoshida replaced the injured Dejan Lovren (ankle) and 18-year-old striker Sam Gallagher made his full debut in place of Rickie Lambert (hamstring) after scoring in the FA Cup win over Yeovil Town on Saturday.
For Arsenal, there was just one alteration from its last league game against Fulham, Mikel Arteta returning from a calf injury to replace Jack Wilshere.
Southampton was dominant in the early stages, Gallagher testing Wojciech Szczesny with a stinging drive in the eighth minute.
And Mauricio Pochettino's men were rewarded for their bright start by taking a lead in the 21st minute, Fonte meeting Luke Shaw's deep cross at the far post and squeezing his header between Szczesny and the post.
Gallagher then missed a golden chance to double the advantage in the 37th minute after Nacho Monreal's clearance cannoned off Steven Davis into his path, only for the striker to poke wide of the target from 6 yards with the goal gaping.
For all of Southampton's pressure, Arsenal almost found an equalizer a minute before the break when Artur Boruc reacted well to keep out Laurent Koscielny's close-range effort.
Whatever words of wisdom Wenger shared with his players at halftime worked as Arsenal scored two goals in the opening seven minutes after the restart.
First, Giroud deftly converted Bacary Sagna's driven cross into the net. Then Mesut Ozil set up Cazorla, who fired into the bottom-left corner from the edge of the box for his fourth goal in the last three matches.
Southampton was level within two minutes, though, Lallana sweeping the ball home from Rodriguez's cutback after the latter's run down the left.
Ozil came close to giving Arsenal the lead once more in the 64th minute. Fonte deflected the German's shot up and over the stranded Boruc onto the top of the crossbar.
In the final 10 minutes, Flamini saw red before Szczesny denied both Shaw and Fonte as Southampton pressed for a winner to no avail.
Follow GOAL.COM on