Unai Emery’s side extended their unbeaten run to 19 matches in all competitions after fighting back from 2-1 down in arguably the Premier League’s game of the season so far.
Aubameyang’s penalty had put Arsenal ahead before Eric Dier’s header and a Harry Kane spot-kick gave Tottenham the lead at half-time at the Emirates Stadium.
Dier’s gloating celebration in front of Arsenal’s fans had triggered a touchline brawl involving Arsenal substitutes.
But the fireworks were far from over as Aubameyang’s superb long-range equaliser sparked a second half surge from the Gunners.
Lacazette came off the bench to put Arsenal ahead and Lucas Torreira sealed the points with his first goal for the club.
Capping a miserable day for Jan Vertonghen, the Tottenham defender was sent off in the closing stages after earlier giving away Arsenal’s penalty.
It was only Arsenal’s second win in the last nine league north London derbies and, while stealing local bragging rights is always sweet, this felt like a significant moment for Emery’s team in the bigger picture.
Emery has revitalised Arsenal since the depressing final years of Arsene Wenger’s reign.
But losses to Manchester City and Chelsea and a draw with Liverpool had raised questions about Arsenal’s ability to compete for a top four finish.
This stirring comeback was exactly the kind of statement of intent Arsenal needed as they moved above Tottenham into fourth place on goal difference.
Ending their hated neighbours’ six-match winning run showed Arsenal aren’t content to let the balance of power in north London remain with Tottenham.
Biting into challenges and harrying Tottenham into panicked mistakes, Arsenal made a blistering start and their relentless tempo paid dividends in the 10th minute.
Vertonghen jumped with Shkodran Mustafi as they challenged for a corner and the Belgian’s raised arm clearly made contact with the ball as he tried to block the Arsenal defender’s header.
Referee Mike Dean awarded a penalty and Aubameyang sent Hugo Lloris the wrong way from the spot for his 11th goal of the season.
Despite being dominated for the opening half hour, Tottenham snatched a 30th minute equaliser as the derby reached fever pitch.
Christian Eriksen’s inswinging free-kick caught Arsenal captain Granit Xhaka flat-footed and Dier nipped in to head past Bernd Leno’s weak attempted save.
Dier celebrated by holding his finger to his mouth to indicate the Arsenal fans should keep quiet and his inflammatory gesture quickly sparked a touchline brawl.
Arsenal substitutes Stephan Lichtsteiner and Aaron Ramsey took exception to Dier’s taunting, prompting a bout of pushing and shoving.
The goal and subsequent fracas sparked Tottenham into life and four minutes later they were ahead.
Son Heung-Min’s pace was too much for Arsenal to handle and Rob Holding responded by making a rash sliding challenge on the South Korean in the penalty area.
There was only minimal contact but Son fell to the turf and, to Arsenal’s fury, Dean pointed to the spot.
Kane lashed home the penalty for a record-equalling eighth Premier League goal in north London derbies.
Arsenal’s sense of injustice spurred them on and Emery responded by sending on Ramsey and Lacazette, back from a groin injury, at half-time.
They proved inspired moves as Gabon forward Aubameyang conjured a majestic equaliser in the 56th minute.
Hector Bellerin’s long pass was flicked on by Ramsey and Aubameyang was first to the pass, unleashing a ferocious strike that flashed past the disbelieving Lloris from 20 yards.
Tottenham had reverted to their earlier timid performance and Arsenal went ahead in the 74th minute.
Lacazette slipped when he took aim from the edge of the area, but his miscued shot took a deflection off Dier and trickled past Lloris.
Torreira delivered the knockout blow three minutes later, running onto Aubameyang’s pass and fired low into the far corner.
There was still time for Vertonghen to see red for an 85th minute lunge on Lacazette that rounded off Arsenal’s perfect afternoon.