Brighton’s first-half pressure paid off in the 36th minute when centre-back Adam Webster pounced on the ball as it came loose after a corner, poking home past Bernd Leno to give the visitors the lead.
Arsenal’s Alexandre Lacazette equalised five minutes into the second half with a high looping header from a Mesut Ozil corner which bounced in off the far post.
The home side briefly thought they had taken the lead when David Luiz shanked the ball home from a free kick, only for the Brazilian to be found clearly offside by VAR.
Instead, Brighton’s Maupay headed a cross from Mooy into the far corner past Leno in the 80th minute to give manager Graham Potter’s side a historic win in north London.
It made for a tense finish but keeper Ryan ensured Brighton earned maximum points with a fine late save to deny Gabriel Martinelli.
Arsenal now sit 10th in the table on 19 points, with Brighton a single point behind and three places below them in 13th.
‘‘Credit to our players, they did what I think an away team has to do in terms of frustrating, but it still takes courage from the players and that’s what I’m pleased with,’’ Brighton manager Graham Potter told Amazon.
At Bramall Lane, Newcastle ended Sheffield United’s seven-match Premier League unbeaten run with a 2-0 victory helped by another disputed VAR decision.
Newcastle took the lead through Allan Saint-Maximin’s header in the 15th minute, before Jonjo Shelvey netted a bizarre second midway through the second half.
United’s defenders switched off completely after the linesman flagged for offside when Andy Carroll flicked the ball on toward Shelvey.
However, the referee waved play on and the midfielder slotted the ball into the net when he was clear through on goal, with goalkeeper Dean Henderson making little effort to stop it.
A video review showed Carroll was onside, and the goal stood.
It was the hosts’ first defeat since losing at home to Liverpool in September.
The win took Newcastle level with Sheffield on 19 points in mid-table.