Chelsea lost two players to injury and had Mateo Kovacic sent off as Arsenal’s fightback denied them a ninth FA Cup triumph.
The Blues had an enviable record in the Wembley showpiece, with seven wins from their past nine FA Cup finals, and had beaten top-five sides Liverpool, Leicester and Manchester United on their way to a 14th appearance.
But Pierre-Emerick Aubameyang’s double consigned them to a third successive cup final defeat to the Gunners.
The Blues dominated the first 20 minutes of an uncharacteristically open final, with Mason Mount’s curling effort forcing Emi Martinez to tip round the post just moments before Christian Pulisic gave them a fifth-minute lead after a neat move.
The American played Mount in behind the Arsenal defence and the 21-year-old, making his 52nd appearance of the season, laid the ball through some statuesque defending for Oliver Giroud who touched the ball on for Pulisic to pass the ball into the bottom corner from close range.
But the game’s momentum flipped after the drinks break with Nicolas Pepe’s long-range strike ruled out for offside a moment before Aubameyang’s penalty levelled the score after skipper Cesar Azpilicueta had pulled back the Gabon international striker.
Azpilicueta’s afternoon then came to an abrupt end when he was forced off with a hamstring injury, Jorginho taking over as captain, and Chelsea found themselves on the back foot as the first half closed, but Willy Caballero remained untroubled.
Frank Lampard, aiming to add his first trophy in management having lifted the FA Cup four times as a player, was handed another major headache shortly after the break when Pulisic, their main threat, also succumbed to a hamstring pull.
Despite the setback, Chelsea gradually got on top once more, and it came against the run of play when they fell behind immediately before the drinks break, Aubameyang finishing off a counter-attack, stepping past Kurt Zouma and dinking a finish over Caballero.
And just as in 2017 when Victor Moses was sent off in a 2-1 cup final defeat to Arsenal, history repeated itself when Kovacic was shown a contentious second yellow card and the Blues were down to 10 men again with 17 minutes left.
Lampard sent on Callum Hudson-Odoi, Ross Barkley, and Tammy Abraham in an attacking late triple substitution, but despite some lively moments orchestrated by Pulisic’s replacement Pedro – who was stretchered off in injury time with what looks like a shoulder injury – Arsenal soaked up the pressure and held on for their 14th FA Cup.
Chelsea: Caballero, James, Azpilicueta (Christensen 35), Zouma, Rudiger (Barkley 79), Alonso, Jorginho, Kovacic, Mount (Hudson-Odoi 78), Giroud (Abraham 78), Pulisic (Pedro 48).
Subs not used: Kepa, Tomori, Emerson, Kante.