The Seagulls took the lead in the 36th minute when Adam Webster fired home at a corner.
Alexandre Lacazette equalised five minutes into the second half when his looping header at another corner eluded Brighton keeper Mat Ryan.
David Luiz had an effort disallowed for offside before the Seagulls won it when Maupay cleverly headed in Aaron Mooy's left-wing cross with 10 minutes left to play.
The result extended Arsenal's winless Premier League run to seven matches and leaves them 10th in the table on 19 points.
Brighton's first away win since the opening day of the season takes them up to 13th, one point further back.
Arsenal: 9 Dec v West Ham (A)
Brighton: 8 Dec v Wolves (H)