Burnley's wait for a first away win of the season ticked into 2017 - but not before they pushed 10-man Manchester City all the way at the Etihad Stadium.
City played for more than an hour a man short after captain Fernandinho was sent off for a rash challenge on Johann Berg Gudmundsson.
But two goals in the space of five minutes at the start of the second half were ultimately enough for the Premier League title hopefuls to take all three points with substitute Sergio Aguero once more their match-winner.
Ben Mee's first goal of the season set up a late Burnley fightback as Sean Dyche's side looked to extend their unbeaten run to three games.
But despite piling on the pressure in the closing stages, the Clarets couldn't force their way through again as they missed the chance to add another away point to the one they secured in Manchester earlier this season when holding United to a 0-0 draw.
And with a grateful City holding on, they extended their unbeaten home league record against Burnley - which still stretches back to 1963 - to halt the Clarets' climb up the table.
That had gathered pace with back-to-back home wins over Christmas which propelled Burnley to 11th spot.
But Dean Marney's booking in the Boxing Day win over Sunderland ended his ever-present record and meant an instant re-call for Jeff Hendrick following his own one-match ban.
And Hendrick was partnered in central midfield against Pep Guardiola's big spenders by Scott Arfield, as Steven Defour was replaced in the Clarets' starting line-up by Gudmundsson.
That meant a first start for the Iceland international since Burnley's home defeat to City at the end of November, a result that briefly took the former champions to the top of the Premier League.
Since then, City had won just three times in the league to drop out of the top four with their latest defeat at Liverpool on Boxing Day prompting Guardiola to make four changes to his starting line-up.
One of those meant another opportunity for teenager Kelechi Iheanacho in attack in place of top scorer Aguero, who had scored both goals in the 2-1 at Turf Moor.
And Iheanacho had an early chance to score his seventh goal of the season following a mistake from former City youngster Mee.
The Clarets' defender mis-placed a pass which allowed Raheem Sterling to release Iheanacho but he was unable to beat Tom Heaton, who made a superb save at the striker's feet before doing equally well to deny Sterling from the follow-up.
Heaton had one more save to make before the break, reacting sharply to turn a Yaya Toure effort around the post.
But the Clarets did a superb job of stifling the home side, pressing high up the pitch to prevent City from building from the back and crowding them out at the other end.
And City's frustration increased with 32 minutes gone when Fernandinho was sent off for diving into a two-footed challenge on Gudmundsson to leave his side down to 10 men.
Ashley Barnes had a chance to press home the advantage but after being set up by Gudmundsson couldn't hit the target from a rare sight of goal.
And despite their numerical advantage, the Clarets were pushed back at the start of the second half following the introduction of Aguero and David Silva from the bench.
A superbly-timed Stephen Ward challenge thwarted Aguero as he was poised to pull the trigger but with 57 minutes gone, City went 1-0 up from an unlikely source.
Clichy had only scored once before for City in the Premier League but having been given the chance to shoot from the corner of the 18-yard box, managed to thread a low shot into the far bottom corner.
And five minutes later it became 2-0 when the more predictable figure of Aguero struck.
Sterling went to ground after stubbing his boot as Heaton pulled out of a sliding stop and Aguero reacted quickest to score from an improbable angle with a shot that clipped the inside of the near post to deceive Keane and the covering Matt Lowton on the goalline.
That looked as though it might be game over but the Clarets refused to accept their fate and after Dyche threw Sam Vokes into the fray, the substitute played his part as Burnley grabbed a goal back to give them hope.
With Vokes adding his aerial strength following a corner City were unable to clear and in the goalmouth mayhem that followed, a shot on the turn from Mee hit the underside of the bar and bounced millimetres over the line to give the defender his first goal since March.
The goal rattled City and gave the Clarets more than 20 minutes to try and replicate the fightback they had shown on their previous two visits to the Etihad Stadium when they left each time with a point.
Dyche's men threw balls and bodies forward and twice went close to snatching a point as Gray volleyed wide and Keane was then denied by an acrobatic save from Claudio Bravo, who was at full stretch to touch his bouncing shot over the bar and safeguard a result that lifted City back into the top three.
Burnley: Heaton, Lowton, Keane, Mee, Ward, Boyd, Gudmundsson (Defour 59), Hendrick, Arfield (Bamford 88), Barnes (Vokes 68), Gray. Substitutes: Robinson, Tarkowski, Darikwa, O'Neill.
Booked: Hendrick, Keane, Gray
Manchester City: Bravo, Sagna, Clichy, Otamendi, Kolarov, Sterling (Stones 88), Navas (Silva ht), De Bruyne, Fernandinho, Toure, Iheanacho (Aguero ht). Substitutes: Caballero, Zabaleta, Nolito, Garcia.
Sent off: Fernandinho
Booked: Toure, Kolarov, Sagna.
Referee: Lee Mason