A quiet first half saw Arsenal enjoy the majority of the possession, but they could only create a number of half chances against a resolute Fulham side. Bukayo Saka's effort that was saved by Bernd Leno the pick of the opening 45 minutes.
Mikel Arteta's system change allowed Ben White to advance further forward down the right flank, and that helped produce the equaliser as Saka's play from a more central area found Martin Odegaard, whose effort was helped with some good fortune from the deflection that diverted the ball past the goalkeeper.
Arsenal continued their offensive with a much more fluent attack after restoring parity, and it was Gabriel who finished after the visitors failed to deal with a corner. Aaron Ramsdale's save moments later ensured all three points for the Gunners.
Arsenal maintained control of the game for long spells and showed their quality when transitioning the ball quickly from each third of the pitch. The north London side also responded well to going 1-0 down, producing much more fluent movement that helped complete an impressive comeback.
The cutting edge that the Gunners have shown in previous matches this season didn't seem to be there today, with final balls either slightly misguided or forwards unable to execute when finishing inside the box.
Manager rating (out of 10)
7 -- Mikel Arteta's side looked in control on the day and the Arsenal manager can't be blamed for a silly defensive error. His tactical change after going 1-0 down looked to make all the difference, with the Gunners looking at their most dangerous when they were chasing the game from a losing position.
Player ratings (1-10; 10 = best, players introduced after 70 minutes get no rating)
GK Aaron Ramsdale, 7 -- A relaxed first half for Aaron Ramsdale saw the Arsenal goalkeeper largely a spectator in the opening 45 minutes, but there was nothing he could do about the opener as his centre-back conceded possession cheaply in a dangerous area. A crucial save kept the game at 2-1 late-on.
DF Kieran Tierney, 6 -- The 25-year-old looked to play positively when getting forward, but he didn't look to be as adept when utilised in the inverted wingback role that Oleksandr Zinchenko has been excelling in. Replaced at the hour mark.
DF Gabriel, 5 -- Naive play from Gabriel saw him concede possession on the edge of his own box to allow Mitrovic to put the Cottagers into the lead, but he made amends by putting the Gunners into the lead from a corner in the 85th minute.
DF William Saliba, 6 -- The centre-back played aggressively as he looked to handle the threat of Aleksandar Mitrovic, and rarely allowed space in behind to assist Arsenal's midfield in pressing quickly. Another strong display from the 21-year-old.
DF Ben White, 6 -- White never looked troubled defensively, but it wasn't until after the hour mark when he began to show more intent pressing forward to create space for Saka to run inside.
MF Granit Xhaka, 7 -- Xhaka looked impressive in the double pivot with Mohamed Elneny that saw Arsenal win the midfield battle with ease on the day. The Switzerland international was instinctive with his passing, and he chose the right moments to get forward without leaving his side exposed to the counter-attack.
MF Gabriel Martinelli, 7 -- The 21-year-old winger didn't seem to get going on the day until the final 15 minutes, and it was his directness that won the corner that led to Arsenal's match winner.
MF Martin Odegaard, 8 -- Odegaard always looked to play progressively with some intricate passes through Fulham's defensive line that were unlucky not to be converted by his teammates. The former Real Madrid attacking midfielder was Arsenal's best player on the day, and even displayed his defensive work when chasing back Neeskens Kebano.
MF Bukayo Saka, 6 -- While the England international wasn't at his best, he almost gave Arsenal the lead in the first half with an astute heel chop before his finish was saved by the feet of Bernd Leno.
FW Gabriel Jesus, 6 -- Some well-timed runs in behind Fulham's line saw Gabriel Jesus trouble Fulham's defensive line, while he was also confident when running in possession. The Brazil international should have done better with his effort in the 54th minute, though, with his attempt lacking the power to trouble the goalkeeper.
Eddie Nketiah (Tierney, 61"), 7 -- Nketiah almost made an instant impact with a delicate touch that created space on the byline, but no one was in the box to finish off his cut-back. A very lively display from the Arsenal substitute who looked to be involved in all of their most promising pieces of play.
Takehiro Tomiyasu (Jesus, 89"), N/R -- Introduced for Gabriel Jesus late on as Arteta looked to see out the game.
Rob Holding (Odegaard, 90+5"), N/R -- On for the final minute of the game.