A fiesty affair saw both sets on fans on their seats for the whole game, with either side able to take the tie by the scruff of the neck, until Manchester City did just that.
An inspired substitution of Kevin De Bruyne became the main reason for Everton's demise, as the Belgian was involved both late goals.
İlkay Gündoğan opened up the scoring just as the game seemed to be going to extra-time. A brilliant run from De Bruyne was almost finished by Aymeric Laporte, of all people, who decided to venture forward.
The curling effort had everyone on their feet, but the Frenchman was denied by a spectacular save from João Virgínia.
Everton's third-choice keeper was unable to do anything about the follow-up, however, as his tip onto the bar was headed home by Gündoğan. This was closely followed by an emphatic finish by De Bruyne to close the tie off, with Everton searching for an equaliser.
The forgotten man
With the introduction of Ruben Dias to the squad, and the resurgence of John Stones, a starting position has been hard to come by for Laporte.
However, the centre-half takes every chance he gets, playing like City's first name on the team sheet. The Frenchman gives everything for the club, despite only playing 21 games so far this season - a big change to his 2018/19 season where he played 51 games.
Laporte played an extremely important role in the victory over The Toffees on Saturday night, keeping a clean sheet against the deadly duo of Richarlison and Dominic Calvert-Lewin, and assisting the Gündoğan breakthrough.
Could we see Laporte get more game time, especially with games coming thick and fast?
Battle of the back-up keepers
With Ederson given a rest, it was time for Zack Steffen to stand up to the FA Cup occasion. With a clean sheet, you would think Steffen would have been the better of the two keepers. However, it was Virgínia, the Everton keeper, who stole the headlines.
The Portuguese keeper was on loan at Reading, but was recalled due to the lack of game time. It was not apparent from the game against City that he was suffering from a lack of confidence.
There were multiple contenders for save of the match, but the best was arguably the stop against Laporte. It was overshadowed, however, with City scoring the rebound.
Virgínia looks to be one of the better back-up keepers in the league, especially with his performance against the Premier League leaders. That could mean Jordan Pickford has to fight to keep his place, giving him the competition to make him perform better.
A Man of the Match performance
If you were to define "form is temporary, but class is permanent", a photo of Fernandinho would appear in the dictionary.
The Brazilian controlled the midfield and put his body on the line for the win, earning him Man of the Match and the highest player rating out of all the players on the pitch.
Fernandinho has only completed 90 minutes on eight occasions but the veteran played like he did at the start of his career. The 35-year-old has been at the club at since 2013, and will go down as a Man City legend.
If this season is to be his last, a quadruple would be the perfect send-off.