However, they found themselves level in the 26th minute when Adewumi latched onto a long ball forward and fired past the Celtic goalkeeper with a composed finish.
Celtic continued to dominate possession and chances, with Dundee largely limited to counter-attacks. But it was Dundee who took the lead in the 79th minute when Donnelly rose highest to head in a corner and send the home fans into raptures.
However, Celtic fought back once again, with Yang firing home from close range to level the scores. The drama continued as Carter-Vickers inadvertently turned the ball into his own net to give Dundee the lead once more.
But in stoppage time, Sylla handled the ball in the box and Engels stepped up to convert the penalty and salvage a point for Celtic in a thrilling encounter.
The result sees Celtic extend their lead at the top of the table, while Dundee will take heart from their performance against the champions.
Carson saved from Jordan Marshall and Adewumi before Robertson dragged a shot wide from 10 yards.
However, Celtic regained the lead in the 68th minute through a stunning strike from McCowan. The midfielder collected the ball 25 yards from goal, shifted it on to his left foot and unleashed an unstoppable shot into the top corner.
Despite Dundee’s efforts to find another equaliser, Celtic held on for the win and secured all three points in a thrilling encounter at Dens Park.