The Gunners are the team Stoke relish taking on more than any other and the home fans were in dreamland after Peter Crouch, with the fastest goal of the Premier League season, Bojan Krkic and Jonathan Walters handed the Potters a remarkable 3-0 advantage before half-time.
But after Bojan had a fourth ruled out for offside, Arsenal staged a fightback with Santi Cazorla scoring from the penalty spot before Aaron Ramsey further reduced the deficit.
However, Calum Chambers was shown his second yellow card with time running out and the home side held on for maximum points to inflict more misery on Arsene Wenger.
The result brought an end to Arsenal’s run of three successive wins and ended a losing sequence of three for the hosts.
Arsenal stay in sixth spot with 23 points while Mark Hughes’ men move up to 12th position.
The bad blood between these teams dates back to the challenge made by Ryan Shawcross on Ramsey nearly five years ago that broke the Arsenal player’s leg.
Wenger was unhappy with pre-match comments from Shawcross hyping up the rivalry and the Stoke captain’s name was greeted with loud boos from the visiting fans.
But they were silenced only 19 seconds into the match as Steven Nzonzi got away down the right and sent over a cross that Chambers failed to clear under pressure from Mame Biram Diouf.
The ball ran to Crouch – making his first start in more than a month – and he had the simple task of tapping it in after goalkeeper Emiliano Martinez lost his balance and fell over.
Teenage defender Hector Bellerin was making only his second Premier League start for Arsenal and his fine cross in the 11th minute should have set up an equaliser but Olivier Giroud headed wide.
Bojan has grown into Stoke’s main creative force and his link-up play, in particular with Crouch, was causing Arsenal real problems.
Stoke were relishing the lively atmosphere and tempo and full-back Phil Bardsley got into the spirit with a fierce shot that Martinez could only push uncomfortably away.
Fortunately for the Arsenal keeper, Chambers reacted quickly to ensure Crouch could not take advantage of the rebound.
Arsenal looked sporadically dangerous and Asmir Begovic may well have been struggling had Cazorla’s 20-yard effort been on target rather than just over the bar.
But largely the game was being controlled by Stoke and it was no more than they and Bojan deserved in the 35th minute when the Spaniard classily converted Walters’ terrific cross.
The gleeful chant of ‘2-0 to the rugby team’ rung around the stadium – mocking a famous Wenger jibe about Stoke’s style of play under former manager Tony Pulis.
But even the Arsenal boss must have been impressed by the fluidity of Stoke, who were simply outplaying his side.
Begovic had to be alert to preserve the lead in the 38th minute when a Giroud header deflected off Shawcross, but just before half-time Stoke added a third.
Bojan’s corner was headed down by Crouch and an unmarked Walters slammed the 100th club goal of his career high into the net.
Unsurprisingly, Wenger shuffled things around for the second half, sending on Danny Welbeck for Bellerin, with Mathieu Flamini moving to right-back.
Welbeck was straight into the action, seeing a shot deflected wide, but Stoke continued to pose plenty of problems.
Martinez was having an uncomfortable afternoon and he was caught out by a Bojan free-kick in the 51st minute.
The keeper had to dive back towards his goal to keep it out and was fortunate the ball arrived at Geoff Cameron’s feet too quickly for the defender to do anything with it.
At the other end, Alexis Sanchez almost made Nzonzi pay for an error when he ran through on goal, beating Shawcross and Begovic, but shot against the post.
It looked curtains for Arsenal when Bojan found the net for the second time in the 65th minute, but a belated offside flag cut short the celebrations.
The Gunners went down the other end and won a penalty when Diouf tripped Flamini. Begovic got a hand to Cazorla’s shot but could not keep it out – and two minutes later Ramsey reduced the deficit to a single goal.
Begovic produced a fine save from Welbeck but Sanchez’s corner picked out Ramsey at the back post and he shot through a crowd of players.
Arsenal pushed hard for an equaliser but found themselves reduced to 10 men 12 minutes from time when Chambers was shown a second yellow card for pulling Bojan.
And, despite putting Stoke under a lot of pressure, the equaliser did not come.
SOCCER SATURDAY ANALYSIS – Matt Le Tissier
I’d say Stoke were worthy winners, based on that first-half alone. They got a massive boost after 19 seconds when Crouch tapped in. It was poor defending and Calum Chambers should have done much better with the cross when it came in, but Crouch was there on the spot. Stoke worked their socks off in that first half. Arsenal had a fair bit of possession and Giroud should have equalised with a header but once Bojan got the second goal Stoke were really in the ascendency and Walters, just before half-time, seemed to put the game to bed at 3-0.
Then Stoke looked like they’d got a fourth. It took the referee so long to decide they weren’t going to count it, we were waiting for the kick-off. But he gave Diouf offside, saying he was in the keepers eyeline when Bojan had the shot, and then Arsenal went down the other end and won the penalty. All of a sudden the whole momentum changed and Aaron Ramsey, a few minutes later, put them back in the game. At that point you would have put money on Arsenal getting something out of the game. Stoke couldn’t get out of their own half.
Chambers then got sent off, picking up a second yellow for an innocuous looking challenge. I thought it was pretty harsh to send him off for that. Stoke held on after that for a great win. Bojan, in particular, was very good today. He’s taken a while to settle in but he was bang on his game today and impressive throughout.
Stoke: Begovic (7) Bardsley (7) Shawcross (7) Muniesa (6) Pieters (6) N’Zonzi (7) Cameron (7) Diouf (6) Krkic (9) Walters (7) Crouch (7).
Subs: Huth (4) Adam (5).
Arsenal: Martinez (6) Bellerin (3) Chambers (5) Mertesacker (6) Gibbs (6) Flamini (6) Ramsey (7) Oxlade-Chamberlain (7) Sanchez (7) Cazorla (7) Giroud (5).
Subs: Campbell (3) Podolski (4) Welbeck (5).
MAN OF THE MATCH: Bojan Krkic.