Arsenal midfielder Dani Ceballos celebrates the winner at Sheffield United. POOL/AFP/ANDREW BOYERS
Mikel Arteta’s side rode their luck after surviving a second-half barrage from the Blades at Bramall Lane.
Nicolas Pepe put Arsenal ahead with a first-half penalty after Chris Basham fouled Alexandre Lacazette.
David McGoldrick equalised with three minutes left, but on-loan Real Madrid midfielder Ceballos settled a hard-fought quarter-final in the final moments.
Arsenal join Manchester United in the last four, with Leicester facing Chelsea and Newcastle hosting Manchester City in Sunday’s other quarter-finals.
Arteta was Arsenal’s captain when they won the FA Cup final against Hull in 2014.
And the Gunners boss remains on course to get his hands on the silverware again as Arsenal look to win the competition for a 14th time.
After losing their first two matches following the restart, Arsenal, who beat Southampton in the Premier League in midweek, have now won two in a row.
The Blades have gone winless in their four matches since the English season restarted, ruining their hopes of a push to qualify for the Champions League and ending their FA Cup campaign.
Arteta made five changes, with Pierre-Emerick Aubameyang and Eddie Nketiah among those left out.
There was no place for Matteo Guendouzi again after the Arsenal midfielder’s role in the brawl against Brighton, while Mesut Ozil was also absent from the Gunners squad.
David Luiz was back in Arsenal’s defence after serving a suspension for the red card he picked up during a disastrous substitute appearance in the defeat at Manchester City last week.
It wasn’t long before Arsenal’s defensive frailties were on display when John Lundstram nodded home from Oli McBurnie’s header, but the goal was ruled out by VAR for offside against the Blades midfielder.
Despite their unconvincing start, Arsenal grabbed the lead in the 25th minute.
– Perfect response –
Basham’s challenge on Lacazette looked innocuous, but he caught the Arsenal striker just inside the area and Paul Tierney awarded a penalty.
Ivory Coast winger Pepe stepped up to beat Dean Henderson from the spot for his eighth goal of the season.
Pepe has mostly struggled through an underwhelming first season with Arsenal.
Invigorated by the goal, he showed a flash of his potential when he cut in from the right and forced Henderson to save his long-range drive.
Arsenal were clicking at last and Kieran Tierney broke down the left, crossing for Pepe to shoot just wide.
Luiz’s difficult start to the resumed season continued when the Brazilian limped off injured after stumbling while shepherding the ball out of play early in the second half.
Henderson almost scored a remarkable goal from his own penalty area, the keeper’s wind-assisted kick bouncing past Gunners stopper Emiliano Martinez and narrowly over the bar.
United were denied by another VAR review when John Egan headed home after McGoldrick’s shot from an offside position was pushed out by Martinez.
Basham should have equalised from Jack Robinson’s cross, but the defender headed wide from close-range.
Arsenal were undone by a terrible piece of defending in the 87th minute.
Sead Kolasinac made a comical mess of clearing Robinson’s long throw, smashing it into Mustafi and McGoldrick pounced to beat Martinez with a close-range finish.
It was United’s first goal in four games since the restart, but Arsenal had the perfect response.
When Pepe was tackled by Enda Stevens, Ceballos seized the loose ball and drilled past Henderson’s weak attempted save to keep Arsenal’s silverware hopes alive.
Download our app and read this and other great stories on the move. Available for Android and iOS.