Goalkeeper Bernd Leno was called into action three minutes into his first Premier League start, reacting quickly to push away a Luciano Vietto shot which had taken a wicked deflection off Rob Holding.
Slavisa Jokanovic switched to a back five in an attempt to shore up a defence which has yet to keep a Premier League clean sheet this season, but that opened up lots of space for Arsenal to exploit in behind right-back Cyrus Christie.
The hosts did not heed several warnings of Arsenal's threat down the left, which was the source of their first goal. Alex Iwobi fed Nacho Monreal on the overlap and his cross was masterfully controlled by Lacazette, who swiveled and shot into the bottom corner.
Fulham continued to live dangerously and only a couple of last-ditch clearances from Maxime Le Marchand in his own six-yard box prevented them from going further behind, with the threat again emanating from their vulnerable right flank.
The Cottagers had chances of their own in the first half, with Schurrle lashing a half-volley over the crossbar after good work from Ryan Sessegnon, but it was against the run of play when they equalised on the stroke of the interval.
A poor clearance from Monreal was picked up by Jean Michael Seri, who quickly released Vietto to find the well-timed run of Schurrle, and this time the German kept his composure to deftly lift the ball over his compatriot Leno.
Fulham's parity lasted only four minutes of the second period, with Lacazette firing a 20-yard shot through the hands of Marcus Bettinelli, who had moments earlier denied Hector Bellerin with a full-stretch diving save but was caught out by the Frenchman pulling the trigger.
Jokanovic abandoned the back five by bringing on Aboubakar Kamara to partner Aleksandar Mitrovic, and the striker wasted a golden opportunity for Fulham to equalise for a second time when he miscued a close-range header from Christie's cross.
Arsenal's substitutes would prove to be much more clinical, starting with Ramsey who scored within 38 seconds of his introduction. In his own half, the Welshman started off a flowing move of one-touch passing and silky flicks, and then finished it off with a delicate back-heel. Lacazette, Bellerin, and Henrikh Mkhitaryan were all involved before Aubameyang squared for Ramsey to score his first of the season.
Things began to unravel for Fulham, who now have the worst defensive record in the division with 21 goals conceded in eight matches.
Aubameyang scored his first on 79 minutes, controlling a pass inside from Bellerin and volleying across Bettinelli on the spin with his left foot.
Ramsey set up the Gabonese striker for his second in stoppage time, an outside of the foot pass which Aubameyang collected and thrashed into the bottom corner.
The Gunners have now won nine successive games in all competitions and climb above rivals Tottenham Hotspur into fourth on goal difference.
FULHAM (3-4-3): Bettinelli; Odoi, Ream (Kamara 54'), Le Marchand; Christie, Zambo Anguissa (McDonald 62'), Seri, Sessegnon; Vietto (Johansen 83'), Mitrovic, Schurrle
ARSENAL (4-4-2): Leno, Bellerin, Mustafi, Holding, Monreal; Mkhitaryan, Torreira, Xhaka, Iwobi (Ramsey 67'); Welbeck (Aubameyang 62'), Lacazette (Guendouzi 80')