Manchester City avoided one of the great FA Cup upsets of all time as three late goals earned a 3-1 win over plucky Cheltenham Town at Whaddon Road, booking a fifth round tie with Swansea.
The Robins held their own in the first period, making it difficult for City to penetrate a very organised midfield and back five, while also threatening on the break.
It was the visitors, however, who had the better of the chances; most notably Benjamin Mendy's clean, powerful strike from the edge of the box, which was spectacularly headed off the line by Cheltenham captain Ben Tozer. But, the highlight of the half was arguably a firework display that halted play just before the teams went into the break all level.
The visitors should have taken the lead soon after the restart when Jesus was put through by Phil Foden, but after the Brazilian had fluffed his lines, a trademark Tozer long throw found its way to Alfie May, who stabbed home from close range.
Pep Guardiola introduced his big guns as time began to run out, and his side turned the game around quickly as firstly a brilliant Joao Cancelo cross found Foden to equalise, before Fernandinho's chipped ball into the box was emphatically fired home by Jesus, atoning for his earlier error.
Ilkay Gundogan's pull back allowed Ferran Torres to rub salt into the wounds, but Cheltenham will head home with their heads held high after a resolute display.
Enough of all that, eh, let's rate the City players.
1. Goalkeeper & Defenders
Zack Steffen (GK) - 6/10 - Looked assured when the ball came his way, making a few good catches and punches. Couldn't do much about the goal.
Taylor Harwood-Bellis (RB) - 6/10 - Was briefly troubled by May in behind, and lacked composure with his cross-field passing. Not his finest first team showing.
Eric Garcia (CB) - 7/10 - The Spaniard's future is up in the air, but he looked calm and composed against the Robins' forwards. Made two interceptions and two clearances.
Aymeric Laporte (CB) - 7/10 - Made some good interceptions and was generally dominat in the air. Distributed the ball nicely from the back, achieving a pass accuracy of 95%
Benjamin Mendy (LB) - 6/10 - Desperately unlucky not to score his second City goal thanks to Tozer heroics, but couldn't find his usual attacking threat for the most part. Completed just one cross.
Fernandinho (DM) - 6/10 - Kept the ball moving throughout without doing anything spectacular, however made the second goal brilliantly with a dink into the Cheltenham box.
Tommy Doyle (CM) - 7/10 - The 19 year old was outstanding from set pieces, always providing a threat with superb delivery. Was quiet in the second half before coming off, in favour of the experienced Gundogan.
Phil Foden (CM) - 8/10 - The England international was quiet in the first 45 but came to life in the second. At the centre of all things good as he drove at the opposition, splitting the defence open on numerous occasions.
Riyad Mahrez (RW) - 6/10 - Was tough to deal with on City's right, but failed to find the final pass more often than not. Missed a one on one to bring his side level.
Gabriel Jesus (ST) - 6/10 - Barely saw the ball throughout and didn't do much with it when he received it after dropping deep. The Brazilian should have put his side ahead when he was through on goal in the second period, but all was forgiven after putting City ahead.
Ferran Torres (LW) - 6/10 - A few lovely touches here and there, drawing plenty of fouls. Bagged a goal in the dying embers.
Ruben Dias (CB) - 6/10 - 1-0 down when Dias came on, City emerged 3-1 winners. Coincidence? Maybe.
Ilkay Gundogan (CM) - 6/10 - Came on for Doyle in order to bring experience and guile. Delivered what he needed to, setting up Torres for the third.
Joao Cancelo (RB) - 7/10 - A Pep masterclass. Came on and instantly made an impact offensively, providing a great cross for Foden's equaliser.