Yaya Toure’s ice-cool penalty put City ahead before substitute Kelechi Iheanacho was in the right place at the right time to convert David Silva’s cross.
And the icing on the cake came deep in stoppage time when Hull defender Curtis Davies diverted in Raheem Sterling’s cross-shot to confirm City’s third consecutive league win.
What happened?
City dominated possession from the off but found the massed ranks of Hull’s defence difficult to break down.
The going was as stodgy as a Christmas pudding early on, but Toure was the stand-out performer, collecting and controlling possession from the base of City’s midfield.
He had the first shot on target after his free-kick was tipped over by Hull keeper David Marshall before City’s momentum was upset by what looked like a knee injury to John Stones.
Aleks Kolarov replaced him in the centre of defence, and before long City’s grip on the match began to tighten again, with David Silva and Nolito both testing Marshall.
After the break the game finally began to loosen, but it was Hull if anyone who began to threaten more.
BACK ACHE: John Stones is replaced by Aleks Kolarov
Defender Harry Maguire hooked one ambitious volley over, while striker Dieumerci Mbokani was proving a handful for City’s defence.
Kevin De Bruyne hit the post with one whipped shot, Bacary Sagna cleared expertly off the line from a Michael Dawson header and then, finally, the goal came.
Raheem Sterling won the penalty by driving across the Hull box and, after Andrew Robertson lunged in on him, Toure slammed the resulting penalty kick home.
City have struggled from the spot on occasions this season – the Blues missed two in a game against Everton – but Toure hit the target without a hint of worry to convert his 10th consecutive spot-kick for the Blues.
Toure clearly likes Boxing Day – he has scored on it in each of the last three seasons.
It was soon two, with Iheanacho timing his run perfectly to tap in Silva’s cross, and the points were won with Davies’ own goal rounding off a hugely satisfactory afternoon’s work for Pep Guardiola’s men.
Star man – Yaya Toure
City’s stars struggled to hit top form at times, but Toure was metronomic in his passing and positioning all evening.
He was often the man picking up possession from the defence, linking play and probing forward when possible. And when it came to the penalty he was the coolest person in the stadium.
Image of the day
SPOT ON: Yaya Toure powers home City’s opening goal
Team notes
John Stones picked up an early injury to his right knee and was replaced by Aleks Kolarov.
City started with De Bruyne through the middle in the most advanced role, with Nolito wide left and Raheem Sterling on the right.
After the break Nolito played centrally with De Bruyne on the left, until Iheanacho replaced the Spaniard.
Fernandinho returned from suspension to make his 100th Premier League start for City. Leroy Sane and Fabian Delph are not fully fit so missed out. Sergio Aguero is in line for a return against Liverpool after suspension.
What it means?
City move up into second place in the Premier League, seven points behind Chelsea and two ahead of Liverpool and Arsenal. Liverpool play Stoke City on 27 December.
What’s next?
City face a tough trip to Liverpool on New Year’s Eve (5.30pm GMT), before the home clash with Burnley on 2 January (3pm).