A double from Pierre-Emerick Aubameyang saw Arsenal shock Manchester City and seal their place in the FA Cup final in August.
Strikes either side of half time secured the victory but it was the defensive performance that proved decisive, with City only managing one shot on target.
The fact it came so close after a similar performance against Liverpool will have pleased Mikel Arteta.
The Spaniard made five changes from the surprise victory over Liverpool in midweek. Shkodran Mustafi came into the back three with Héctor Bellerín and Ainsley Maitland-Niles operating as full backs.
Dani Ceballos returned to the midfield while top scorer Aubameyang bolstered the attack.
Arsenal knew they would have to take any chances that came their way at Wembley and after weathering an early storm, David Luiz stole possession in the middle of the park and sent Aubameyang through but his effort was straight at Ederson.
That didn’t deter the forward and he made amends minutes later. Nicolas Pépé’s cross to the far post was perfect and Aubameyang’s finish with the outside of his foot went in off the post.
City enjoyed the lion’s share of possession and asked plenty of questions but the Gunners coped with the pressure and denied them any clear-cut opportunities. Whether it was well-timed tackles or last-ditch defending, Arsenal showed a steely determination not to concede.
On the counter Arsenal were looking dangerous and they went close again when Aubameyang beat Ederson to the ball but his cut back to Maitland-Niles was too weak and Ilkay Gundogan managed to clear the danger.
Mustafi saw a header tipped over the crossbar on the stroke of half time after the German almost gave a goal away at the other end when Raheem Sterling dispossessed him in the box but, again, the final pass was intercepted.
The flow of the game stayed the same after the break with City adding more pressure to the Arsenal defence. Sterling fired wide and Emiliano Martínez got down well to keep out Riyad Mahrez in the early exchanges.
VAR intervened shortly after the hour mark when Sterling went down under a challenge from Mustafi but, after a nervy wait, this time the officials sided with the Gunners.
Having proved they could soak up pressure against Liverpool, they continued to repel the City attack and once again caught them on the break. Neat link-up play between Kieran Tierney and Pépé opened up space and allowed the former to pick out the run of Aubameyang, who calmly slotted the ball between Ederson’s legs.
Joe Willock and Lucas Torreira replaced Pépé and Alexandre Lacazette to shore things up.
It was backs to the walls for the rest of the game as City continued to knock the ball about and try to find space but Arsenal always seemed to be one step ahead.
After a superb performance Mustafi’s night ended prematurely after a collision with Sterling. He left the field clutching his hamstring as Rob Holding took his place while Sead Kolašinac replaced Ceballos.
Pep Guardiola’s men charged forward until the end, as they always do, but Arteta claimed the victory over his mentor.
Not only will Arteta get the chance to earn a trophy seven months into his managerial career but it was the type of performance that showed the head coach has the full support of his players.