Jordan White was the Ross County hero as they inflicted a second defeat on Celtic this season and put Rangers on course for a Parkhead title party.
White headed home unchallenged from a 71st-minute free-kick to lift County off the bottom of the Scottish Premiership above Hamilton and Kilmarnock and leave Celtic 18 points adrift of Rangers with eight games remaining.
The champions' 1-0 loss means Rangers could officially clinch the title at Celtic Park on March 21 if both sides win their two games beforehand.
The title already appeared destined for Ibrox before Celtic lined up in Dingwall. But a fresh setback – which came after an astonishing miss from Ryan Christie – piled more misery on Hoops fans after a five-match winning run gave them some respite from a season that imploded long ago.
County's Betfred Cup victory at Celtic Park on November 29 sparked angry protests outside the stadium and this latest result comes six days after chairman Ian Bankier revealed a review into Lennon's position remained ongoing.
Lennon brought Scott Brown and Tom Rogic back into his starting line-up with Albian Ajeti and Ismaila Soro dropping to the bench. County started with target man White leading the line as John Hughes made four changes.
Celtic left-back Greg Taylor delivered a couple of dangerous crosses before going off injured. Diego Laxalt was a natural replacement.
County had their fair share of chances in the opening half-hour. Midfielder Tony Andreu forced Scott Bain into a good diving save before heading over after Jason Naismith had beaten Rogic to Charlie Lakin's deep corner.
Christie put the ball across the face of goal after dispossessing Alex Iacovitti at the other end but there were no takers.
The hosts had another good chance after White won a long ball and Michael Gardyne fed Blair Spittal, whose low drive was turned past the post.
Celtic were gifted a good opportunity when goalkeeper Ross Laidlaw miskicked a clearance. Odsonne Edouard squared for David Turnbull but the ball was nicked off his feet and turned behind for a corner.
Christie hit a half-chance wide before his more significant miss. Callum McGregor drove forward and played Edouard in behind, and the Frenchman unselfishly set up Christie but he cleared the Jail End stand with his effort from seven yards.
County also lost a defender to injury before the break as Keith Watson replaced Callum Morris.
Spittal had an effort saved just after the restart before Laxalt and Christie frustrated Lennon by failing to get shots on target from just outside the box.
The pair redeemed themselves as Laxalt set up Christie, who finally got one on target, but Laidlaw got down quickly to stop his shot from close range.
Lennon turned to Leigh Griffiths midway through the second half with Rogic making way.
But the hosts got the breakthrough after Jonjoe Kenny fouled Harry Paton on the left wing. The substitute took the free-kick himself and White headed into the top corner at the far post.
It was a second goal in three games for White since he ended a barren six months at Motherwell.
Christie fired just over the top corner before immediately being replaced by Mohamed Elyounoussi in the 83rd minute and the substitute came closest to an equaliser as Celtic piled forward, with Laidlaw stretching to push his header wide.