Both players seized on mistakes by Saints keeper Alex McCarthy as the Gunners hit back from successive defeats which had left their hopes of a top-four finish in tatters.
McCarthy’s casual pass in the 20th minute allowed 21-year-old Nketiah to intercept and walk the ball into an empty net and the keeper was culpable again late on as 20-year-old 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 — eight behind fourth-placed Chelsea who were playing City later.
“We had two very difficult weeks,” said Arsenal manager Mikel Arteta, with his side having suffered a last-gasp 2-1 defeat by Brighton after a 3-0 drubbing at Manchester City.
“I was concerned after the defeat at Brighton, it really touched the team but I could see yesterday the reaction was really positive,” he added.
“Against Brighton we had total control and threw the game away in seven minutes. I know what this team can do when we’re at 100 percent but if not we’re average.”
Arsenal were well worth their halftime 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 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.
Southampton manager Ralph Hasenhuettl said McCarthy’s decision-making needed to improve.
“We know we play more in possession now and this means the goalkeeper as the ball more often and still some things he has to improve, when to play short and long, and that’s why these mistakes happen,” he said. (Reporting by Martyn Herman; Editing by Ken Ferris)