Gabriel netted a second-half header to secure all three points for the visitors as West Ham failed to bounce back from their 2-1 defeat to Eintracht Frankfurt in the first leg of the Europa League semifinals on Thursday.
The result sees Arsenal reclaim a top-four spot in the Premier League table after being leapfrogged by north London rivals Tottenham Hotspur, who beat Leicester 3-1 on Sunday.
It was a slow start, with both teams struggling to make anything out of spells of good possession, but the game came to life when Holding rose highest to nod in a Bukayo Saka corner on 39 minutes for his first goal since 2019.
Ramsdale could not stop Bowen on 45 minutes, however, with the forward's equalising volley taking a slight deflection off Gabriel to move out of the goalkeeper's reach and into the net.
West Ham continued to look dangerous after the break but it was Arsenal who struck first through Gabriel, who headed in on 54 minutes from a well-placed Gabriel Martinelli cross to put the visitors back in front.
Arsenal will be disappointed to not find a third, while West Ham were unable to get themselves back into the game to mathematically rule themselves out of a chance at a top-four finish.