United had to play with ten men for nearly an hour when Diogo Dalot received a second yellow card for mistiming a tackle on Arsenal midfielder Mikel Merino.
Manchester United seized the lead in the 52nd minute with an amazing Bruno Fernandes goal, as Alejandro Garnacho took advantage of a Gabriel error and crossed for Fernandes to curl the ball into the top corner.
Dalot was sent off in the 61st minute for his clumsy tackle, and Arsenal leveled just two minutes later when center-back Gabriel volleyed in from inside the box.
After referee Andrew Madley decided that Kai Havertz had been pulled down by Harry Maguire in the box, the Gunners had a huge opportunity to grab the lead when they were given a penalty.
Following a fight in the box that resulted in the booking of Maguire, Havertz, and Gabriel, the spot-kick was delayed.
Martin Odegaard, the captain of Arsenal, then took the ball, but Altay Bayindir ducked to his left to push the ball away and keep the score level
Mikel Arteta’s team had several chances to win the game, including ones from Declan Rice and Havertz, but they were unable to score against the impressive Bayindir.
United were forced to defend throughout extra time as Arsenal sought methods to take the lead with their numerical advantage.
But Arteta’s side couldn’t break through, and Havertz’s penalty was saved by Bayindir before Zirkzee sent David Raya the wrong way to win the shootout.
Arsenal have already left the FA Cup in the third round for the third time in four seasons.