SWANSEA, Wales -- Manchester City kept their hopes of a quadruple alive by fighting back from two goals down to beat Swansea City 3-2 to reach the semifinals of the FA Cup.
The Championship side looked like they would pull off a stunning shock when they went ahead through a Matt Grimes penalty and an excellent strike from ex-City youth player Bersant Celina. But Bernardo Silva pulled a goal back with 20 minutes remaining, Sergio Aguero's controversial penalty was then deflected in by Swans goalkeeper Kristoffer Nordfeldt before the Argentine headed in a winner two minutes from time.
When they needed it most, City showed their fighting spirit and rescued a victory when their quadruple hopes were under serious threat. Not many would have expected the Championship side to put an end to their assault on four fronts, but City were under real pressure -- trailing by two goals with 20 minutes remaining. They will need that same battling spirit if they are to go anywhere near an unprecedented quadruple.
Pep Guardiola needs all of his squad if they are to compete for all four trophies, but some of his fringe players looked off the pace when they needed to be leading from the front against Championship opposition.
Fabian Delph was a sensation at left-back in last season's record-breaking title triumph but he has been in wretched form this year, Riyad Mahrez is struggling for the consistency that persuaded City to shell out a club record £60 million in the summer and Gabriel Jesus is finding it difficult to make the same impact as Sergio Aguero.
Manager rating out of 10
7 -- Guardiola has to try to balance his squad as he attempts to manage the workload of four competitions, but his decision to leave out key players backfired. Gabriel Jesus couldn't make any impact as City's frontman and Delph has been in poor form all season, which is why he was making just his second start this year.
Guardiola turned to Oleksandr Zinchenko, Raheem Sterling and Aguero quickly in the second half and switched to a four-man attack. It changed the game.
Player ratings (1-10; 10 = best. Players introduced after 70 minutes get no rating)
GK Ederson, 5 -- Sent the wrong way from the penalty spot and beaten by Celina's delightful curler. Almost got caught in no-man's land when he raced off his line in the second half.
DF Kyle Walker, 6 -- Up against the pace and guile of the tricky Daniel James, he struggled early on but got forward well in the second half.
DF Nicolas Otamendi, 5 -- Got caught out of position for Swansea's second and left the rest of his defence horribly exposed.
DF Aymeric Laporte, 5 -- Rare off-day when he was rattled by Swansea's hard-running forwards and showed his frustration by picking up a silly yellow card at half-time.
DF Fabian Delph, 3 -- His red card cost City in last season's FA Cup exit at Wigan Athletic and he had another nightmare when giving away a penalty with a clumsy challenge.
MF Ilkay Gundogan, 5 -- The Germany international has been impressive as a deep midfielder in recent weeks but the Championship side were able to bypass him with their quick passing.
MF Bernardo Silva, 8 -- City's biggest attacking threat, he pulled them back into the game with a stunning finish.
MF David Silva, 6 -- Had plenty of space to pull the strings and was unlucky to see a close range strike cleared off the line.
FW Riyad Mahrez, 4 -- Big opportunity to show his importance in City's pursuit of silverware but just can't find the form that made him such a threat during his Leicester days.
FW Gabriel Jesus, 5 -- Offered little goal threat and was largely on the fringes of City attacks.
FW Leroy Sane, 5 -- His pace and width were a real danger early on but he couldn't find the killer pass or finish.
DF Oleksandr Zinchenko, 7 -- Instantly tightened up City's defence down the left-hand side.
FW Raheem Sterling, 7 -- Lively in attack and won the penalty (albeit a fortunate one) for the equaliser.
FW Sergio Aguero, 8 -- Quickly offered much more of a threat, missed a penalty but got very lucky with the rebound and then bagged the winner with a brilliant header.