Sergio Aguero's second-half goal sealed the three points, with City now two wins away from being crowned champions.
The opening exchanges were somewhat predictable: City were dominating possession and trying to construct intricate moves, but Burnley were organised and direct, breaking up play and hitting Chris Wood whenever possible.
Indeed, it was Wood who had the first decent chance. Kyle Walker slipped and lost possession, Jeff Hendrick played Wood in with a fine throughball, but the striker’s first touch let him down and Ederson was out quickly to save at his feet.
City looked somewhat tense, and our final ball was failing us. Bernardo Silva’s left-footed strike was saved comfortably by Tom Heaton, before David Silva’s effort was blocked inside the box by James Tarkowski.
After a slightly disjointed opening period, City started the second half far more aggressively. Aguero forced Heaton into a fine stop at his near post seconds after the restart and it proved a sign of things to come.
Silva’s strike from outside the area appeared to be blocked by Ashley Barnes’ hand, but nothing was given, and seconds later Heaton saved low down to his right from Ayemric Laporte’s header.
Bernardo struck a powerful effort from point-blank range, but Heaton, who was emerging as the games’ stand-out performer, was equal to it.
It was wave after wave of City attack but the home side were standing firm.
Finally, the Burnley goal was breached when Aguero, superb throughout, scored with a left-footed effort from six yards out after Bernardo found him with a fine pass into his feet.
The ball was over the line by just 29mm. This season’s title race is being determined by the finest of margins.
It was Aguero’s 20th Premier League goal of the season - the sixth time he has managed 20 or more in a single campaign.
Gabriel Jesus almost doubled our lead, but his shot was cleared off the line brilliantly by former City academy player Ben Mee.
City survived a late Burnley onslaught thanks to some fine defending, and the celebrations in the away end at full-time were evidence of just how important these three points are.
The greatest title race of all time?
In a season that has ebbed, flowed and see-sawed throughout, the lead at the top has now changed hands 30 times, more than in any other campaign.
Liverpool have 91 points, already the second-highest amount they have collected in their 127-year history. They face the prospect of finishing with 97 points – enough to win the title in any season other than the last one – and still not finishing top. City raised the bar last year and the Merseysiders have met the challenge, creating a memorable scrap for supremacy between two of the finest sides in English football history.
This was City’s 12th consecutive league victory, currently the longest run any side have managed this term. That level of consistency has been absolutely necessary for us to remain a title challenger in what's been an extraordinary season.
Difficult hurdle cleared
This game was seen by many as a difficult assignment. City dropped points at Turf Moor last season, with their direct approach causing us difficulties. They drew 2-2 at Chelsea on Monday evening, disrupting the home side’s play and posing a threat from set pieces.
It’s often the physical, uncompromising sides who cause City the most problems, and we were far from our best for much of the game.
It feels like a major hurdle has been cleared.
Man of the Match: Bernardo Silva
Does any other player mix industry and artistry as well as our Bernardo?
Runs all day, makes blocks and tackles, provides a superb range of passing and is a real team player. Class.
City now have two games left and the equation is simple: win both and we become the first side in a decade to retain the Premier League title.
Leicester visit the Etihad on Monday 6, before a final-day trip to Brighton’s Amex Stadium. Neither of those games will be easy. Leicester, of course, beat us on Boxing Day in the reverse fixture, and have taken points off Chelsea, Liverpool and Arsenal this season, too.
Liverpool are away at Newcastle next Saturday - a game sandwiched in between their Champions League semi-final matches with Barcelona - before hosting Wolves on the last day.
If City do take maximum points, we will become the first English side to end a season with 14-straight wins, breaking Arsenal’s record of 13 set in 2001-02.
It’s been an awe-inspiring title race. Is there one more twist left in the tale?