Odsonne Edouard’s 96th-minute goal moved Celtic 10 points clear at the top of the Scottish Premiership as Dundee’s relegation fears worsened.
James Forrest and Scott Sinclair had multiple efforts as the visitors dominated at Dens Park.
Scott Wright could have put Dundee in front, the midfielder going through on goal only to be denied by Scott Bain.
It looked as though the hosts had done enough to earn a point until Forrest squared for Edouard to convert.
With nearest challengers Rangers drawing on Saturday, Celtic extend their lead and could stretch it further when they host the Ibrox side after the international break.
Dundee remain a point above bottom side St Mirren but the Buddies could overtake Jim McIntyre’s team by winning their game in hand against St Johnstone, with Hamilton Academical five points ahead of the Dens Park outfit.
- Reaction & as it happened
- Player rater – who impressed and who did not?
- Griffiths could return this season
Celtic make pressure count – eventually
It was almost relentless Celtic pressure with Kieran Tierney’s effort deflected wide via a deflection, Forrest knocking over from a promising position and Callum McGregor off target then denied by Seny Dieng. Tierney and Forrest would also go close after the break.
The goalkeeper was less convincing with a block on Scott Brown’s long-ranger, which created another chance for Edouard that had to be dealt with.
Dundee hearts were in mouths again when Celtic attempted a rehearsed corner routine. McGregor found Forrest on the edge of the box and the Scotland winger’s volley was blocked by team-mate Brown right in front of goal.
There was more assured goalkeeping from Dieng when Sinclair attempted to curl home from the left-hand side of the box, the SWISs getting a powerful hand on the ball to turn it over. A similar effort from Sinclair in the second half was deflected wide.
The hosts had struggled to get out their own half but when they did they passed up the first half’s best chance. Kenny Miller released Wright but the forward took the ball wide and Bain came off his line to turn the eventual shot wide.
There was no let-up from Celtic in terms of possession and territory after the break but chances were more scarce.
The six minutes of added time provoked ire from the home fans, who felt there had not been such a level of stoppages.
Dundee had defended valiantly and looked to counter where possible but it was from one such advance that they were undone. Martin Woods’ deflected shot was collected by Bain and within seconds Celtic were up the other end with Edouard playing a one-two with Forrest and tapping home in a crowded six-yard box to send the visiting fans home happy.
Frustration avoided for leaders – analysis
Celtic were looking at a missed opportunity for the second weekend running until that late Odsonne Edouard goal.
They were held at home by Aberdeen last Saturday after Rangers had drawn with Hibernian the night before.
But late goals during a crucial phase of the season have proved to be the difference for the league leaders. Edouard netted in injury time in Neil Lennon’s first match back in charge of the club away to Hearts last month, while one of Brendan Rodgers’ last games as Celtic boss featured a stoppage-time winner by Scott Brown against Kilmarnock.
With eight league games to go and a Scottish Cup semi-final against Aberdeen to come next month, League Cup winners Celtic’s bid for a third successive domestic treble remains on course.
- 7O’SullivanSubstituted forCurranat 72′minutes
- 16RobsonBooked at 21mins
- 10WrightSubstituted forDalesat 90+4′minutes
- 20MillerSubstituted forCurranat 71′minutes
- 2ToljanSubstituted forWeahat 78′minutes
- 35AjerSubstituted forBenkovicat 73′minutes
- 73JohnstonSubstituted forHayesat 59′minutes
- 24de Vries
- Bobby Madden
- Shots on Target
Attempt saved. Martin Woods (Dundee) left footed shot from outside the box is saved in the centre of the goal.
Substitution, Dundee. Andy Dales replaces Scott Wright.
Jesse Curran (Dundee).
Attempt blocked. Jesse Curran (Dundee) left footed shot from outside the box is blocked.
Foul by Nathan Ralph (Dundee).
Ethan Robson (Dundee) wins a free kick in the defensive half.
Substitution, Dundee. Jesse Curran replaces John O’Sullivan.
Substitution, Dundee. Craig Curran replaces Kenny Miller.
Attempt missed. Ethan Robson (Dundee) left footed shot from outside the box misses to the right.
Delay over. They are ready to continue.
Delay in match John O’Sullivan (Dundee) because of an injury.
Delay over. They are ready to continue.
Delay in match Darren O’Dea (Dundee) because of an injury.
Nathan Ralph (Dundee) wins a free kick on the left wing.
Corner, Dundee. Conceded by Mikael Lustig.
Corner, Dundee. Conceded by Kristoffer Ajer.