Celtic failed to cut the gap on Scottish Premiership leaders Hearts after suffering their first defeat away to Dundee since 1988.
Clark Robertson headed the hosts ahead from a corner in the 17th minute before Celtic defender Cameron Carter-Vickers scored an own goal just before the break, after travelling fans had disrupted the game by throwing dozens of balls on to the pitch in their ongoing protest against the Parkhead board.
The visitors dominated the second half but lost 2-0, their first Premiership defeat of the season and first at Dens Park since Tommy Coyne scored the only goal of the game for the Dark Blues 37 years ago.
The Hoops, booed at the end, remain five points behind Hearts, whom they play at Tynecastle next weekend. Before then they have a Europa League tie against Sturm Graz on Thursday, with improvement required.
The game came to a quick halt after the first whistle blew when Celtic fans bombarded the pitch with different coloured balls, causing a delay while they were cleared. Visiting fans then chanted against chief executive Michael Nicholson and chairman Peter Lawwell.
When the game started it was low-key until the 10th minute when striker Joe Westley miskicked the ball six yards from the Celtic goal after Simon Murray had cleverly stepped over a Drey Wright cross.
At the other end, Hoops striker Kelechi Iheanacho clipped the outside of the post with a snapshot but it was Dundee who forged ahead when unmarked Robertson leapt inside the Celtic penalty area to bullet in a header from a Cameron Congreve corner.
Kieran Tierney and Yang Hyun-Jun both missed the target with efforts as Celtic piled on the pressure, with Dundee defending desperately.
However, in another dangerous breakaway Congreve turned centre-back Liam Scales before crossing for Westley to skim the ball in off helpless Hoops defender Carter-Vickers and double the home side’s lead.
James Forrest and Johnny Kenny replaced Yang and Anthony Ralston for the start of the second half as boss Brendan Rodgers sought a comeback.
Celtic kept up the pressure while Dundee defended resolutely, threatening any time they broke forward.
In the 58th minute Hoops midfielder Reo Hatate fired wide from the edge of the box before Dundee substitute Ashley Hay, on for Murray, came close with a header from 12 yards.
Dundee goalkeeper Jon McCracken twice thwarted Iheanacho as relentless Parkhead pressure continued.
It looked like Celtic were handed a lifeline when Hatate’s shot appeared to be blocked by the arm of Paul Digby inside the Dundee box.
Referee Matthew MacDermid immediately pointed to the spot but after he checked his pitchside monitor at the behest of his VAR, he overturned his decision to the cheers of the home fans.
Dundee had more defending to do, with another Hatate drive deflected wide for a corner and there were several more shots and crosses and near misses but the Taysiders remained resolute, to the delight of their fans.
PA