UEFA Champions League: Celtic 3 Karagandy 0
Neil Lennon's side dominated proceedings on Wednesday, and with the match heading to extra-time, James Forrest completed Anthony Stokes jinking run to send Celtic through.
After being frustrated for the majority of the first-half by goalkeeper Aleksandr Mokin Celtic finally found a way through with an outstanding 25-yard effort from Kris Commons.
And they were level on aggregate just three minutes after the restart when Georgios Samaras coolly finished from 10 yards.
Forrest then delighted the home fans in additional time after firing home from Stokes pass.
Lennon made three changes to the side that lost the first leg, with Emilio Izaguirre, Virgil van Dijk and Steven Mouyokolo coming out, with Adam Matthews, Efe Ambrose and Stokes taking their place.
Viktor Kumyov kept faith in the same side that started in Kazakhstan.
Celtic started the game with plenty of intent, but Mokin in the Shahkter goal produced a string of fine saves.
The first was a stunning point-blank stop from Mikael Lustig's header in the sixth minute, and followed that up by palming away Forrest's fierce strike from the edge of the box.
Still Celtic came forward and twice Anthony Stokes had the chance to open the scoring.
First he saw he a drilled close-range effort stopped by Mokin, before the former Sunderland striker saw a header from Commons' cross come off his shoulder, aiding the Shakhter goalkeeper's save to his left.
The home side were further frustrated in the 15th minute when Commons struck a free-kick from the left channel that looked destined for the back of the net before Mokin parried it away.
Lennon's team maintained their dominance in possession, but the clear-cut chances began to dry up as the away side defended resolutely.
But the breakthrough finally came in first-half stoppage time when Commons took ownership of the ball 25 yards out from goal and unleashed a fierce left-footed shot that swerved away from Mokin and into the far corner.
Celtic levelled the tie just three minutes after the break as a Celtic corner was only half cleared and Lustig's effort was controlled by Samaras, and he lifted his strike high into the net to send Celtic Park into raptures.
It should have been three 11 minutes later when a surging run by Forrest led to him crossing to Stokes who somehow managed to volley against the crossbar from six yards.
They were almost made to pay for their profligacy as twice Shahkter came close.
First Fraser Forster flapped at a corner and Mathews cleared an Andrei Finonchenko header off the line, before a scramble in the box after a long throw led to the ball cannoning back off the bar.
Celtic kept probing for the goal that would send them through and Stokes came close in the 88th minute but shot wide from outside the area.
But they would not be denied as Anthony Stokes skipped past two challenges before laying into Forrest's path and he blasted home the winner.