Antoine Semenyo's brilliant second-half flick helps Manchester City add the FA Cup to their Carabao Cup success. Pep Guardiola clinches his 20th major title with City as dogged Chelsea were unable to break through in the FA Cup final.

Antoine Semenyo and Marc Guehi shone for Manchester City in a tense 1-0 FA Cup final win over Chelsea at Wembley. Here are the player ratings from Sky Sports...

Wearing a full skull cap on his return from a head injury sustained against Nottingham Forest, Ederson made several decent saves, notably keeping out shots from Erling Haaland, Matheus Nunes, and Rayan Cherki. He could do nothing to stop the goal.

The right-back's service was not good enough. Chelsea needed more from him playing at wing-back, providing the width in Calum McFarlane's five-at-the-back formation.

Man City's latest news and updates.

Chelsea's latest news and updates.

Marc Guehi had a job on his hands up against Nico O'Reilly and Jeremy Doku but kept them from having too much of a say.

Reece James was Chelsea's best player. His distribution was key to progressing Chelsea up the pitch. He missed his line-breaking passes. This was his second start back from ACL injury but you would not have known it. Thomas Tuchel was watching in the stands. Could he have earned an England recall?

Dalvin Luis had lots to do playing on the left of Chelsea's back three, being asked to step into midfield at times. He did not do too much wrong. Chelsea were ultimately undone by a moment of brilliance.

Kai Havertz replaced by Pedro Neto after 74 minutes. He had a good battle up against Antoine Semenyo down the Man City right. He was caught out when Haaland drifted into the channel to set up Man City's opener. Otherwise, he was solid but failed to make an impact in attack.

Mateo Kovacic showed signs of his rust in his first start since March. He was dispossessed by Jeremey Doku in the first half by his own box and was fortunate that Haaland failed to capitalise.

Marcos Alonso had his work cut out for him in a midfield battle with Rodri and Bernardo Silva and then had Mateo Kovacic off the bench to deal with. He nearly scored only to see Rodri clear his goal-bound header from a corner.

Chelsea's star man, Kai Havertz, had another in and out season and was largely anonymous against his former side. He had a few nice touches in the first half but failed to get into the game.

Joao Pedro showed a wonderful scissor pass for Joao Pedro in the first half after 21 minutes. He deserved to get it back before his teammate slipped over when shooting. He earned a booking for a meaty challenge on Silva. He fought until the last.

Rayan Cherki wasted an opportunity on the break from Fernandez's pass over the top early in the first half, slipping before he got his shot off. He would have been better off looking to find his teammate for the return pass. He went down too easily on numerous occasions in the penalty box.

Pedro Neto brought on for Cucurella after 74 minutes at wing-back. He failed to have the desired effect down the left as an attacking alternative for his teammate.

Reece James brought on for James after 83 minutes.

Joao Pedro brought on for Joao Pedro after 86 minutes.

Ilkay Gundogan had little to do in the first half when Chelsea failed to register a shot. He nearly cost his team after the break by giving away a corner unnecessarily that Chelsea came close to scoring from. This was not the season he was expecting, but a domestic cup double is not bad for his domestic cup keeper.

Bruno Guimarães made a strong tackle on Cucurella in the first five minutes down the left. Chelsea's first progression into the final third. He defended well by heading out Gusto's cross into the box after 21 minutes.

Bernardo Silva rescued Silva after his error gifted possession to Joao Pedro in the first half by stepping across Chelsea attacker in the box to stop him going through on goal. His speed continues to be such an asset for City. He made a few other crucial recovery runs.