With Chelsea winning 3-1 at Fulham, the Gunners are now four points behind their London rivals at the top of the table with 10 rounds remaining this season.
The Potters’ victory, only their second in 11 league games, saw Mark Hughes’ men hit the 30-point mark and they are now 12th, six points above the drop zone. They have also beaten Chelsea and Manchester United on home turf in the space of the last three months.
Glenn Whelan forced a fine save from Wojciech Szczesny at the end of what was otherwise a dull first half. The second period was hardly full of incident either, until Walters toed the ball skywards on the edge of the area and Laurent Koscielny handled. Referee Mike Jones pointed to the spot and Walters sent Szczesny the wrong way.
Arsene Wenger had introduced Mesut Ozil shortly before the penalty, and the club’s record signing went close with a shot across the face of goal. Another substitute, Yaya Sanogo, then wasted a gilt-edged chance to equalise in the closing stages as the Gunners went down to their fifth league defeat of the campaign.
Arsenal had fit-again Kieran Gibbs back in their first XI, replacing the injured Nacho Monreal in defence in the only change to the starting line-up from last Saturday’s 4-1 win against Sunderland. Thomas Vermaelen, back involved after an extended spell on the sidelines, was among the substitutes, along with Ozil.
There was only one adjustment to the Potters team as well a week on from the 1-0 loss at Manchester City, with the injured Peter Odemwingie dropping out and Steven Nzonzi coming in.
After an uneventful opening quarter of an hour, Stoke were unfortunate to see the offside flag raised against them. Marko Arnautovic delivered a deep cross from the right and Walters headed the ball down towards goal, although it bounced just wide of the post. Replays showed Walters was just about level, however.
Peter Crouch hit a shot into the side-netting from a tight angle shortly after the half-hour mark, after Nzonzi had looped a short cross in from the right.
Arsenal responded with Mikel Arteta finding Lukas Podolski running down the left channel, the Germany international then blasting a left-footed shot after getting into the area – but he failed to hit the target.
The best chance of the first half came with three minutes left before the interval. A beautiful pass from Ryan Shawcross out wide to the left began the build-up, then Arnautovic spotted Whelan’s run. The Republic of Ireland midfielder let fly with a shot from long range and Szczesny had to dive to his left to make the save.
The second period began with Nzonzi’s tame header going wide and Szczesny making a hash of dealing with a Geoff Cameron cross, leading to a goalmouth scramble that Arsenal survived.
Crouch diverted the ball wide with a miscued acrobatic attempt and then stretched to get a harmless boot to a Charlie Adam free-kick that it seemed he would have been better attacking with a header.
Stoke continued to press and, after Szczesny dived to turn a glanced Crouch header behind, the corner led to the ball dropping nicely for Cameron, but he could only poke wide.
The Potters were rewarded around 10 minutes later when Koscielny was adjudged to have handled the ball and Walters, putting past penalty misses behind him, made no mistake from the spot, prompting chants of “1-0 to the rugby team” from the Stoke faithful.
Ozil flashed a shot across Asmir Begovic’s goal and his fellow sub Sanogo then struck over the bar as the Gunners failed to find an equaliser.
Alex Oxlade-Chamberlain did impress from the bench as Wenger’s side looked for a route back to parity, but it was Stoke who held on for the three points.