But Gundogan struck for the second time to restore City’s lead after the restart and although substitute Alejandro Garnacho went close, Pep Guardiola’s side held on.
City can complete the treble and match Manchester United if they defeat Inter in the Champions League final next week.
Stefan Ortega, 7
Pep Guardiola made the big call to start him in the FA Cup final and the goalkeeper didn’t do anything to let his manager down. Made a big save in stoppage time to tip over the crossbar.
Kyle Walker, 6
The full-back’s recovery pace was needed at times but he wasn’t really troubled until Garnacho’s introduction.
Ruben Dias, 7
A picture of authority in the centre of defence. The Portuguese is back to his best and he looked like he coasted through the final.
Manuel Akanji, 7
Another key City performer who makes everything look so simple. Wins his individual duels and creates the platform for players like Gundgoan to be match-winners higher up the pitch.
John Stones, 9
Outstanding in the second half as his growing influence helped City take back control. May have been man of the match if it wasn’t for Gundogan’s double.
Hardly put a foot wrong defensively - or with the ball. Such a reliable performer week after week.
Bernardo Silva, 6
A quieter afternoon for the Portuguese - didn’t have his usual big-game impact on the right.
Kevin De Bruyne, 7
Mesmeric in the second half and showed his class to take the game away from United. Taken off after 75 minutes with the Champions League final in mind.
Ilkay Gundogan, 9
City’s man for the big occasion. His record-breaking opener after 13 seconds was a dream strike, the second wasn’t struck as purely but the German’s sense of timing is extraordinary. Player of the match.
Jack Grealish, 6
Didn’t look sharp enough in the first half. Unfortunate with the penalty, but his place in the team ahead of the Champions League final could be uncertain now.
Erling Haaland, 7
The striker had some good moments against Raphael Varane but the match was won elsewhere. His work rate remained high.
David de Gea, 5
Gundogan’s second looked soft and although De Gea may argue he couldn’t see it through a pack of bodies, what’s clear is United need an upgrade in goal.
Aaron Wan-Bissaka, 5
The right back won his individual battle with Grelaish but was unable to offer much else.
Victor Lindelof, 4
Beaten by Haaland in the move for Gundogan’s opener inside 15 seconds and replaced in the closing stages as Ten Hag rolled the dice.
Raphael Varane, 5
Looked to get tight with Haaland and be physical but the City striker was still able to roll him on a couple of occasions.
Luke Shaw, 5
Managed to keep Bernardo Silva quiet but was pinned back by City’s relentless pressing.
Unable to influence the game from midfield apart from putting in a couple of robust challenges - needed more help from elsewhere.
Struggled to match De Bruyne in the second half and gave away the free kick that led to Gundogan’s second with a foul on the Belgian.
Bruno Fernandes, 5
Tucked away a first-half penalty to equalise for United but his team needed more from their influential captain.
Christian Eriksen, 3
Looked off the pace and struggled to match City’s intensity in midfield. Taken off on the hour.
Jadon Sancho, 3
The winger didn’t turn up and was fortunate he wasn’t removed too with half an hour to play. Sancho didn’t take the warning and was hooked just 17 minutes later.
Marcus Rashford, 5
Starved of service for large spells and didn’t look fully fit. Centre forward just doesn’t suit his abilities but wasn’t too far away with a touch and hit from outside of the area.
Alejandro Garnacho, 7: Took responsibility and went close with a bending effort. Should have started.
Wout Weghorst, 4: Didn’t make an impact and was frustratingly caught offside when the ball was played long to him.