Arsenal struggled to find their footing in the first half, with Wilson firing wide and David Raya making a crucial save to deny Josh King. However, the visitors ended the half strongly, with Bernd Leno denying Viktor Gyökeres and Calafiori having another chance.
Marco Silva was pleased with his team's performance in the first half, but was dealt a blow when Joachim Andersen was injured just before halftime.
The second half saw Arsenal take the lead through Leandro Trossard, who scored from a corner kick. Trossard became the 10th different goalscorer for Arsenal in the Premier League this season.
The match was marred by controversy when referee Anthony Taylor pointed to the spot for a perceived foul on Saka, but the call was later overturned. Arsenal held on to their lead, extending their unbeaten run on the road to 18 games.
Fulham suffered their third consecutive league defeat, and have now won just one of their previous 15 head-to-head matches against Arsenal.
The win moves Arsenal back to the top of the Premier League table, with reigning champions Liverpool having the opportunity to move back to within a point with a win over Manchester United.