A fiercely contested quarter-final looked like it was heading for extra time as Carlo Ancelotti’s side defended resolutely and went close in the first half when Yerry Mina’s header was cleared off the line.
Despite dominating possession at Goodison Park, City struggled in front of goal for most of the game, with Raheem Sterling’s poorly hit shot tipped round the post by Everton’s third-choice keeper Joao Virginia.
After Pep Guardiola brought on Riyad Mahrez and De Bruyne, they finally breached Everton’s well-marshalled defence when Gudogan headed in with six minutes remaining after Aymeric Laporte’s shot was tipped onto the bar.
De Bruyne then fired in with a crisp shot to ensure their progress in the 90th minute, meaning City have won 25 out of their past 26 games in all competitions.
For Everton, who still threatened despite having little of the ball, it was a sterling attempt to try and stop the City juggernaut.
Despite missing out on a first FA Cup semi-final since 2016, they will now focus on their league campaign in an attempt to reach Europe next season.