City were cruising when Fernandinho followed up David Silva’s opener with a fine curling shot.
George Boyd scored straight after the break, turning home Danny Ings ‘ shot despite appearing to be offside.
Then Ashley Barnes reacted quickest in a crowded penalty area to smash home a loose ball to earn the visitors a draw.
It was a result that didn’t seem likely at the break, when, despite being without Yaya Toure, Manuel Pellegrini’s side looked sure to cut Chelsea’s lead at the top of the Premier League to a single point and a club record 10th successive win.
Samir Nasri’s precise pass had been perfect for Jesus Navas to run on to. Silva had found enough space to collect his fellow countryman’s cross.
He spun round and beat Burnley keeper Tom Heaton by his left-hand post from eight yards for his fourth goal in three games.
Nasri then showed admirable patience in waiting for an opening before eventually rolling a pass back to Fernandinho, whose superb curling shot provided him with his first goal of the season when it crashed in off the underside of the crossbar.
The first-half was not without its mishaps for City.
Fernando was shown a yellow card for fouling Scott Arfield, a booking that will rule him out of the New Year’s Day encounter with Sunderland, and Pablo Zabaleta needed a bandage applying to a wound sustained in a clash of heads with Eliaquim Mangala.
It took an element of good fortune for Burnley to get back into the game at the start of the second period, with none of the officials spotting Boyd was in an offside position when he got the slightest of touches to Ings’ shot before it squeezed under Joe Hart.
Both sides had chances after that. Heaton denied Nasri with a full-length save and, at the other end, Ings was narrowly wide with a shot from 25 yards before Arfield was denied by a well-timed tackle from Martin Demichelis.
Burnley kept going and their attacking intent was rewarded when a long free-kick bounced off Michael Keane and Barnes wasted no time in driving a first-time shot in to the roof of Hart’s net before the City keeper had a chance to react.
Rather than risk losing their point, the visitors, who have not won an away game in the league against City since 1963, opted for a safety-first strategy at the end, with manager Sean Dyche telling his players to take the ball towards the corner flag during five minutes of injury time.
Manchester City manager Manuel Pellegrini: “It is a big opportunity to get two more points.
“At half-time everybody would think the game was over but I always say it is never over until the last minute. Burnley’s first goal was a mistake by the referee but once it goes to 2-2 we didn’t have the legs to score.
“We were at home. That is an advantage but Chelsea and Manchester United also drew.”
Burnley manager Sean Dyche: “At half-time I thought we were performing well. The key was getting that first goal so early.
“I believe in the physicality of my players. Last season we would have played seven more games than this so I am not worried about fatigue.
“But it is only a point. It might be Manchester City and we might have been 2-0 down, but it is still only a point.”