As new United interim boss Ralf Rangnick watched from the directors’ box, where former England captain David Beckham also enjoyed a thrilling encounter, Arsenal scored first in controversial circumstances.
Emile Smith Rowe drove home from the edge of the area, while United keeper David de Gea was lying on the ground, seemingly injured, with his back to play.
The inevitable VAR check concluded De Gea had fallen after bumping into and being trodden on by his own team-mate Fred, and referee Martin Atkinson gave the goal.
Bruno Fernandes levelled, when he finished off an intricate move involving Jadon Sancho and Fred a minute before the break, setting up the pulsating second half that followed.
Ronaldo put United ahead as he swept home Marcus Rashford’s cross, but Martin Odegaard made it 2-2 with a well-taken equaliser.
Then came the second big VAR decision, as Atkinson gave United a penalty after reviewing Odegaard’s challenge on Fred on a pitchside monitor – and Ronaldo kept his nerve to score.
Watching proceedings unfold, Rangnick was largely impassive and made plenty of notes, although he did stand to applaud Ronaldo’s winner.
The result leaves United three points off fourth-placed Arsenal after recording two wins and a draw under Michael Carrick, the interim’s interim.
Carrick, stand-in for the past three matches, said afterwards that he was leaving the club, where he has been since 2006, first as a player and latterly as a coach.