Manchester City will start 2020 14 points behind Premier League leaders Liverpool after returning to winning ways against Sheffield United at Etihad Stadium.
City were lacklustre before scoring with their first shot on target in the 53rd minute, Sergio Aguero's fine finish finding the top corner after a Kevin de Bruyne assist.
United were upset the goal was allowed to stand as referee Chris Kavanagh appeared to get in the way of John Fleck who miscontrolled the ball which allowed De Bruyne to set up Aguero.
De Bruyne added the second with a clinical finish from Riyad Mahrez's pass before Sheffield United substitute Billy Sharp headed against a post in the closing moments.
Earlier, Lys Mousset wasted a glorious chance for the visitors when he fired into the side netting.
French forward Mousset also had a goal ruled out for a marginal offside when the game was goalless.
Reaction from Etihad Stadium
This was a day when the result was more important than the performance for Pep Guardiola's side after Friday's capitulation at Wolves where City led 2-0 before losing 3-2.
City's subdued first-half performance bore all the hallmarks of a side nursing a hangover after the dramatic events at Molineux.
Guardiola's side were ponderous and lacklustre - failing to register an attempt on target in the opening 45 minutes before coming good after half-time.
There was a touch of fortune about the events which led to the breakthrough as Kavanagh got in the way of a pass to Fleck which allowed De Bruyne to play in Aguero.
United did not recover after that and De Bruyne sealed a win which lifted sprits at a flat Etihad with a sweeping finish past Dean Henderson.
With Benjamin Mendy and Nicolas Otamendi dropping to the bench, there was a first Premier League start for Spanish defender Eric Garcia and the 18-year-old helped City to a first domestic clean sheet since 26 October.
Yet City were far from their best in their final game of a year which saw them claim a historic domestic treble.