Oleks Zinchenko gave City the lead midway through the first-half, only to be pegged back the visitors 15 minutes later.
Port Vale began the game brightly with a chance on goal in the opening seconds and a corner to follow as the League 2 side attempted to catch the FA Cup holders cold.
Some of City’s early passing was not up to the usual preciseness and Pep Guardiola was soon urging his side to play with more intensity.
Of course, these ties are never easy with City starting as overwhelming favourites and the longer the game went on without a goal for the hosts, so the visitors and their 8,000-strong following grew in confidence.
But any early doubt was quickly banished on 20 minutes when Ilkay Gundogan’s short pass found Oleksandr Zinchenko who let fly with a low shot from 25 yards that took a deflection off Vale skipper Leon Legge on its way to bottom corner of the net.
City should have doubled the lead five minutes later when Gundogan’s low ball across the six-yard box found an unmarked David Silva but he skipper scuffed his shot onto the crossbar and Sergio Aguero couldn’t put the rebound in from a yard or so out.
Then, on 35 minutes, on end of the ground erupted as David Amoo raced down the right flank before whipping a cross into the box that Tom Pope expertly nodded down to Claudio Bravo’s right and into the net.
It hadn’t been coming, but it wasn’t entirely undeserved for the fourth-tier side who were clearly intent on enjoying their visit to the Premier League champions.
However, City were back in front within seven minutes – after a VAR check (of course) – as Phil Foden played the ball wide to Joao Cancelo and his low cross was turned home by Aguero from close range – his 15th goal of the campaign.
City resumed after the break and went close several times in the opening minutes as Aguero blazed over from 10 yards, Bernardo saw a header saved by Scott Brown and the Vale keeper again did well beating out a Foden volley from eight yards.
But Port vale survived the onslaught until just past the hour when – after another lengthy VAR check – City went 3-1 up.
The VAR checked there was no offside and the majority of the 52,000 or so crowd celebrated accordingly.
Vale had a chance to pull one back shortly after a defensive mix-up from City, but Tom Conlon’s diving header just went wide.
City increased the lead further on 77 minutes with a goal created by Angelino who controlled a long pass before spotting Foden’s burst into the box and the young England star did the rest, slotting home from six yards out.
There were further chances to score, but any more would have been harsh on a valiant Vale.
What it means…
City go into the hat for the FA Cup fourth round tie on Monday evening.
Star man: Phil Foden
Energetic and lively throughout, the teenager playmaker capped off a fine display with a goal late on.
There’s more domestic cup action on Tuesday when City travel to Old Trafford to take on Manchester United in the first leg of the Carabao Cup semi-final (8pm kick-off).
Then it’s back to Premier League action away to Aston Villa on Sunday week (4.30pm kick-off).