The Scottish Premiership champion needed a first triumph on Italian soil to guarantee its place in the last 32 with two games to spare, but things looked bleak for Neil Lennon's side when Ciro Immobile capped a dominant Lazio start with an early opener.
Celtic fought back, though, with James Forrest slamming in an equaliser prior to half-time in a thrilling encounter in Rome.
A trio of superb saves from Fraser Forster kept Lazio at bay and, with the final kick of the match, substitute Ntcham chipped home with a deft finish to send the travelling Hoops support into raptures.
Immobile did not start in the 2-1 defeat in Glasgow last month, but marked his return to Lazio's Europa League line-up with a cushioned finish on the volley seven minutes in.
Celtic's Christopher Jullien went close to bundling a corner into his own net, but Lazio could not make their dominance count for a second goal and, after Francesco Acerbi failed to cut out Mohamed Elyounoussi's pass, Forrest kept his composure to draw the visitors level.
A rare moment of panic from Forster almost allowed Lazio to restore their lead when he flapped at a corner, while Odsonne Edouard drew a fine stop out of Thomas Strakosha after the restart.
Scott Brown went agonisingly close as Celtic pressed hard for a second, though Lazio would have moved back ahead if not for Forster's superb stop from a Sergej Milinkovic-Savic header.
Forster was aided by the upright with 15 minutes remaining, however – Luis Alberto's corner clipping off the base of the post – before Celtic's goalkeeper pulled off two fantastic saves in quick succession.
It paved the way for Ntcham to be the hero, as the midfielder latched onto Edouard's pass before lifting a delicate effort over Strakosha to book Celtic's place in the next round.