Pep Guardiola's side had much of the ball, but struggled to make the most of some good situations as Arsenal produced a similarly effective rearguard action to the one that surprised champions Liverpool last time out.
City went close through Raheem Sterling and Kevin De Bruyne in the second half, but ultimately saw their hopes of retaining the trophy dashed when Aubameyang raced through to net his 25th goal of the season.
Arsenal will now hope to claim a record-extending 14th FA Cup triumph when they meet Manchester United or Chelsea in the final at Wembley on August 1.
A statement win for Arteta's Arsenal as he outmanoeuvres his mentor. So, the apprentice upstages the master. The odds were stacked against Arsenal (8-1 with some bookmakers), but they followed the blueprint that saw them beat the champions in midweek to a tee. It was the stand-out performance of Arteta's tenure so far and means he could yet end a rollercoaster start to life in the dugout with a trophy. City weren't at their free-flowing best, but credit must go to the Gunners for thwarting them. The dream of the cup treble is over and it's all eyes on the Champions League for Pep and his men as they lost a domestic cup tie for the first time since February 2018. The defensive issues that have plagued the Citizens' season were exploited by Aubameyang and Guardiola will be even more determined to address that in the summer market now.
MAN OF THE MATCH
Pierre-Emerick Aubameyang (Arsenal). The match winner. Everyone in an Arsenal shirt played their part and the defence was magnificent. But Aubameyang was lethal on the counter attack and showed just why it's vital Arsenal hang on to him.
16' - ARSENAL CHANCE! Aubameyang is left in acres to turn on to Luiz's pass and size up a clear run at Ederson. He pulls the trigger but fires straight at the City keeper, who makes a big save.
19' - GOAL! Arsenal 1-0 Man City. Aubameyang slides in at the far post to flash Pepe's wonderful right-wing cross into the opposite corner.
49' - MAN CITY CHANCE! Sterling skews a first-time shot just wide after a wonderful cut back from the left by De Bruyne.
71' - GOAL! Arsenal 2-0 Man City. It's two and it's Aubameyang once again! The forward races on to Tierney's pass down the left and coolly slots it through Ederson's legs.
83' - MAN CITY CHANCE! Laporte lets fly with a stunning strike from 20 yards but arcs it inches wide. It's just not happening for City.
Pierre-Emerick Aubameyang has scored 66 goals in all competitions for Arsenal; since his debut for the club in February 2018, the only Premier League player with more in this period is Mohamed Salah (68).
There were 18 passes made in the build-up to Arsenal's opener in this game, with 10 of their 11 players being involved in the move for Aubameyang's goal.
Aubameyang scored his first goals v Man City in his seventh appearance against them. The only team he had played more in his career without scoring is Marseille (10 games).
Aubameyang is the fourth Arsenal player to score a competitive brace at Wembley Stadium, after Reg Lewis (1950 FA Cup final), Charlie Nicholas (1987 League Cup final) and Alexis Sánchez (2015 FA Cup semi-final).