Receiving a pass from a defender, McCarthy tried to pass it back but Nketiah intercepted the ball before tapping into an empty net. McCarthy almost made exactly the same mistake at the end of the first half, but this time Nketiah just failed to rob the ball.
Southampton defender Jack Stephens was sent off late on for chopping down Pierre-Emerick Aubameyang as he was clean through seeking his 50th Arsenal league goal in just 77 games. From the free kick, forward Alexandre Lacazette's effort was blocked by the wall. The ball fell back to Lacazette, whose powerful strike was saved by McCarthy but fell to fellow substitute Willock, who slotted in the second goal in the 86th.
Arsenal's previous two games exposed sloppy defending and a lack of composure, problems which have blighted the Gunners in recent seasons. Arsenal conceded five minutes into injury time in a 2-1 defeat at Brighton on Saturday, a match which saw a heated clash between Arsenal midfielder Matteo Guendouzi and Neal Maupay. The Brighton striker's late challenge injured goalkeeper Bernd Leno. Guendouzi, who grabbed Maupay by the throat after the final whistle, was dropped by coach Mikel Arteta.
Arsenal started this match with intent. Nicolas Pépé, who gave Arsenal the lead against Brighton, scored after eight minutes but the goal was ruled offside. Two minutes later, Aubameyang ran onto a long pass and drew McCarthy toward him but chipped onto the crossbar.
Southampton created little and 16-goal club top scorer Danny Ings was kept quiet until the 78th, when his snapshot from the left was smartly saved by Leno's replacement Emiliano Martínez.
More AP sports: https://apnews.com/apf-sports and https://twitter.com/AP_Sports