George Boyd’s goal gave Burnley a famous win against Manchester City to further damage the champions’ hopes of retaining their Premier League title.
Boyd arrowed in a low half-volley after a poor headed clearance from returning City captain Vincent Kompany.
The visitors had wasted chances as Edin Dzeko had a shot saved by Tom Heaton and Sergio Aguero headed just over.
Pablo Zabaleta went to ground late on, but City’s appeals for a penalty were rejected by referee Andre Marriner.
The shock defeat means second-placed City remain five points behind leaders Chelsea, who have two matches in hand.
Chelsea boss Jose Mourinho said on Friday the title race was already over and that his team would be celebrating in May.
City responded with a disappointing performance and a result that severely dents their hopes of winning a third title in four years.
They had only won three of their past 10 matches in all competitions before facing a Burnley side with only one victory in their previous 11 games in 2015.
But apart from a low save to deny Dzeko, and tame efforts from Aguero and Wilfried Bony that were straight at him, Burnley goalkeeper Heaton had little to do.
Kompany, dropped for City’s last match against Leicester, should have done better than head the ball into Boyd’s path from Kieran Trippier’s free kick. Nevertheless, the Scotland international produced a spectacular finish to shoot past England goalkeeper Joe Hart.
Victory moves Sean Dyche’s side, Championship runners-up last season, up a position to 18th, only one point behind 17th-placed Sunderland.
City’s season, meanwhile, is in danger of falling apart. They will need to quickly regroup as they play at the Nou Camp on Wednesday looking to overturn a 2-1 deficit in their Champions League last-16 tie with Barcelona.
Burnley had to ride their luck late on as Aguero headed over, and Zabaleta went down in the penalty area under a challenge from Ben Mee, but referee Marriner waved away City’s calls for a penalty.
Not even the introduction of forwards Bony and Stevan Jovetic and midfielder Frank Lampard, making his 600th Premier League appearance, could see the visitors grab an equaliser as the Clarets held on for a memorable victory.