Franco di Santo fired the Latics – who last week beat leaders Manchester United – ahead on the break after seven minutes, before Jordi Gomez doubled their lead inside 90 seconds.
Thomas Vermaelen reduced the deficit with a bullet header after 20 minutes, but the second-half onslaught from shell-shocked Arsenal never came as Wigan moved five points clear of the relegation zone.
Arsenal made one change as Tomas Rosicky replaced Aaron Ramsey in midfield. Full-back Kieran Gibbs recovered from a groin injury to take his place on the bench, along with fit-again forward Gervinho.
For Wigan Shaun Maloney, the goal hero against United, missed out with a minor knock picked up in training.
It was the visitors who took a shock lead on seven minutes. Wigan broke quickly from an Arsenal corner through Jordi Gomez down the right, who clipped the ball through to the on-rushing Franco Di Santo. Goalkeeper Wojciech Szczesny raced to the edge of his area, but was beaten to the ball and the Wigan striker went on to knock into an empty net.
Before the small band of away supporters had time to calm down, they were in dreamland again less than 90 seconds later.
This time Victor Moses battled down the left, with his cross not gathered by Szczesny – and Gomez was on hand to scramble the loose ball over the line.
Things got worse for Arsenal as midfielder Mikel Arteta limped off injured and was replaced by Ramsey.
The home side needed a response and Benayoun was denied by a fine one-handed save from Ali Al Habsi as he looped Rosicky’s cross towards the top corner.
The deficit was halved on 21 minutes, however, when Tomas Vermaelen crashed in a bullet header from 12 yards after Rosicky’s right-wing cross.
Al Habsi was alert again to beat away Van Persie’s fierce drive as Arsenal pressed forwards, centre-half Johan Djourou then dragging his shot just wide from the edge of the area.
As half-time approached, Arsenal continued to press. Van Persie tried his luck with a 25-yard free-kick that flew over.
Arsenal came out on the offensive at the start of the second half, with Andre Santos’ shot deflecting just away from Van Persie and then Theo Walcott.
For Wigan, though, Moses was a real handful for Sagna, and got away again into the Arsenal box on 52 minutes before forcing Szczesny into a reaction save. Vermaelen headed over from Van Persie’s corner, before Santos stabbed a cut-back by his captain wide from six yards.
Moses could have extended Wigan’s advantage when put through on 59 minutes, but shot tamely at Szczesny.
Arsenal stepped up the pressure again, but once more the Wigan rearguard stood firm despite five minutes of injury time being added.
Arsenal: Szczesny, Sagna, Djourou, Vermaelen, Andre Santos, Song, Arteta, Walcott, Rosicky, Benayoun, van Persie. Subs: Fabianski, Oxlade-Chamberlain, Ramsey, Squillaci, Gervinho, Gibbs, Chamakh.
Wigan Athletic: Al Habsi, Alcaraz, Caldwell, Figueroa, Boyce, McCarthy, McArthur, Beausejour, Moses, Di Santo, Gomez. Subs: Pollitt, Ben Watson, McManaman, Sammon, Jones, Diame, Stam