McCarthy's casual pass in the 20th minute allowed 21-year-old Arsenal striker Eddie Nketiah to intercept and walk the ball into an empty net and the keeper was culpable again late on as Joe Willock scored his first Premier League goal.
Defeats at Manchester City and Brighton & Hove Albion had left Arsenal down in 11th place but their victory on the south coast lifted them to ninth with 43 points from 31 games -- 11 behind fourth-placed Chelsea who beat City later.
Arsenal were well worth their half-time lead on the hottest day of the year with Pierre-Emerick Aubameyang striking the crossbar shortly before Nketiah pounced on McCarthy's error.
Southampton's Nathan Redmond fired into the side netting and Shane Long's powerful effort forced a fine save from Emiliano Martinez as the hosts rallied but they had Jack Stephens sent off in the 84th for bringing down Pierre-Emerick Aubameyang.
Willock then made the points safe in the 87th as McCarthy failed to gather a fierce shot. Despite the defeat 14th-placed Saints look safe, 10 points above the relegation zone.
Mikel Arteta's men will next face Sheffield United in an FA Cup quarterfinal (live at 8 a.m. ET on ESPN and ESPN Deportes) on Sunday, while the Saints will visit Watford in a Premier League match that same day.
Information from Reuters was used in this report.