In what was his final-ever FA Cup game for City before his summer departure, Kevin De Bruyne unsurprisingly pulled the strings early on.
And in time-honoured fashion, he linked up with Erling Haaland, whose volley forced a smart stop out of Dean Henderson.
City were relentless in the opening 15 minutes, but for all their hard work, it was a Palace counter-attack which ignited the cup final.
Palace’s own deadly duo were involved in the opener, as Daniel Munoz marauded down the left and delivered a pinpoint cross, which Eberechi Eze swept home on the volley.
Palace defended valiantly, but two moments of madness almost undid all of their hard work. Perhaps it was a rush of blood to the head for Dean Henderson when he charged out of his goal to meet Erling Haaland, and looked to have handled the ball outside his area with the Norwegian bearing down.
VAR surprisingly elected not to intervene though, and also stayed silent when Tyrick Mitchell made a rash-looking challenge on Bernardo Silva in the area, as he scythed down the Portuguese midfielder for a City penalty.
Fortunately for the full back, Henderson - who City argued shouldn’t have been on the pitch - bailed him out, producing a stunning one-handed save to deny Omar Marmoush from the spot.
A product of the Manchester United academy, Henderson was proving to be an immovable object in the Eagles’ goal, and he conjured one more moment of magic before half-time, diving to his left to stunningly beat Doku’s curling effort away.

It was his heroics which gave Palace the platform to double their advantage – or so they briefly thought. Munoz was quickest to pounce on a loose ball inside the area which deflected to him off Ismaila Sarr, who was stood in an offside position, sparing City’s blushes.
City were uncharacteristically blunt in front of goal on the Wembley turf though, and that was best demonstrated when De Bruyne threaded a perfect ball through for Nico O’Reilly, only for the youngster to dither in the area and see his effort blocked by Munoz.
With desperation now setting in for City, Pep Guardiola took the unusual step to introduce a player most football fans won’t have heard of, introducing Claudio Echeverri for his debut.
His switch almost paid dividends just a few minutes later, when De Bruyne found him in the area, but the Argentine could only watch on with anguish as yet another Henderson save kept City at bay.
Palace were never likely to rest easy in the closing stages, and the sight of 10 minutes being held up on the board for added time certainly didn’t help with the nerves.

They needn’t have been too nervous though, as City created precious little in the remaining minutes, and Palace held on to live out the fantasy of every aspirational club that has been starved of frequent cup final opportunities in the era of big money.
And as well as finally getting some silverware in the Selhurst Park trophy cabinet, they’ll be playing in the UEFA Europa League next season too, which is the icing on the cake of a landmark day for the club.
Flashscore Man of the Match: Daniel Munoz (Crystal Palace)