Jose Antonio Reyes scored his first goals for Arsenal as they ended Chelsea's FA Cup ambitions for the fourth successive season.
Reyes scored twice in five minutes after the interval as Arsenal came from behind to reach the last eight.
Adrian Mutu put Chelsea ahead from 20 yards after Jens Lehmann's poor kick.
But Reyes struck from long-range after 56 minutes then beat Chelsea's substitute keeper Neil Sullivan, on for injured Carlo Cudicini, from 12 yards.
Chelsea looked comfortable for long periods in a tempestuous encounter, but the stunning double strike from the £17m new boy from Sevilla knocked the stuffing out of Claudio Ranieri's side.
Arsenal were without leading scorer Thierry Henry, who was ruled out with a foot injury.
Sol Campbell set the tone for a stormy opening 45 minutes that saw six yellow cards when he was booked for fouling Scott Parker.
In a furious opening exchange, John Terry needed to make a desperate saving tackle as Gilberto Silva raced ponderously on to Robert Pires' pass after 11 minutes.
39 mins: Adrian Mutu fires Chelsea in front
56 mins: Jose Antonio Reyes levels for Arsenal from 25 yards
60 mins: Chelsea keeper Carlo Cudicini limps off injured
61 mins: Reyes beats substitute keeper Sullivan for Arsenal's second
And Arsenal keeper Lehmann had to save brilliantly from William Gallas at his near post as Chelsea instantly swept to the other end.
Chelsea were unlucky not to go ahead 10 minutes before the interval when Jesper Gronkjaer headed Frank Lampard's perfect cross past Lehmann.
The header was ruled out for offside, but replays proved the goal was legitimate.
But it was only a brief reprieve for the holders as Chelsea went ahead with a marvellous goal from Mutu after 39 minutes.
Lehmann's poor clearance went straight to Parker, and when he fed Mutu, the Romanian raced at Kolo Toure before flashing in a 20-yard finish with his left foot.
But Arsenal were level after 56 minutes courtesy of a wonderful goal from new boy Reyes.
The Spaniard picked up the ball 25 yards out, and fired an unstoppable drive into Cudicini's top corner.
And Chelsea suffered another blow on the hour when Cudicini limped off to be replaced by Neil Sullivan after appearing to suffer a thigh injury.
Chelsea's day was in danger of falling apart as Sullivan's first meaningful act was to pick the ball out of the net as Reyes struck again.
Patrick Vieira's brilliant pass left Mario Melchiot flat-footed and Reyes stole in to beat Sullivan as Terry tried desperately to clear.
Arsenal survived in relative comfort to stay on course for a possible third successive FA Cup triumph.
Arsenal: Lehmann, Cole, Campbell, Toure, Lauren, Parlour (Edu 51), Vieira, Silva, Pires, Bergkamp, Reyes (Clichy 82).
Subs Not Used: Cygan, Stack, Bentley.
Booked: Campbell, Silva, Vieira.
Chelsea: Cudicini (Sullivan 60), Melchiot, Terry, Gallas, Bridge, Parker, Makelele, Lampard, Gronkjaer (Cole 69), Hasselbaink, Mutu (Gudjohnsen 64).
Subs Not Used: Crespo, Huth.
Booked: Melchiot, Mutu, Makelele, Hasselbaink.
Referee: P Durkin (Dorset).