Match ends, Ross County 2, Celtic 2.
Liam Boyce earned Ross County a precious point against 10-man Celtic with a controversial late penalty.
The hosts earned the spot-kick when Alex Schalk went down under Erik Sviatchenko's challenge, but it seemed a clear dive from the County man.
Kieran Tierney had fired Celtic ahead before Michael Gardyne nodded the home side level after the break and Patrick Roberts made it 2-1 to the champions.
Celtic skipper Scott Brown was sent off after the penalty for a lunge on Boyce.
But Celtic are set to appeal against the red card, with the hearing not taking place until 28 April, meaning Brown is likely to be available for next Sunday's Scottish Cup semi-final against Rangers.
- Brown free to face Rangers despite red card
- 'Not a penalty': McIntyre & Rodgers agree on controversial decision
The result takes Ross County on to 33 points, two behind seventh-placed Kilmarnock and three clear of the relegation play-off spot.
Taking a point against the champions is a significant outcome for County, although the circumstances in which it was earned were far from ideal.
Whatever reason Schalk may offer for going down, Sviatchenko was not even close to making a tackle and it looked like obvious simulation.
Schalk simply threw himself to the ground and it is difficult to fathom how the officials managed to miss that and award a penalty.
Boyce showed tremendous nerve to drill home the spot kick to boost County's quest to avoid relegation.
Things got worse for Celtic when captain Brown earned a straight red card for a reckless late challenge on Boyce.
There had been some earlier niggle between the pair but Brown's anger over the penalty call may have been behind this rash moment.
Before Schalk's intervention, Celtic had reasserted their authority thanks to a piece of fine play from Patrick Roberts, who brilliantly nutmegged Kenny van der Weg before firing the ball through keeper Scott Fox.
The goalkeeper had to do better as he got down slowly and he also might have been at fault at Tierney's first-half opener which fizzed into the corner from 25 yards.
Celtic had regained the initiative in the latter stages and Stuart Armstrong was very unlucky with a free-kick that cracked off the crossbar.
The visitors were well in control before the late drama.
County's stick-or-twist dilemma
Jim McIntyre's County side were solid until Tierney's opener but once they conceded they faced something of a conundrum.
Goal difference is important so should they sit in and hope for a chance, or go for broke and risk further concession?
They came out after the break on the front foot and it paid off. Ryan Dow swung a deep cross in from the left and Gardyne powered a superb header in off the bar for his first goal of the season.
County kept going forward with Andrew Davies and Boyce going close.
The hosts' improvement prompted Celtic boss Brendan Rodgers into three substitutions, with one of those, Roberts, delivering what looked like the winner.
The conclusion was very unfortunate but it could be the difference between County staying in the Premiership or not.
- 52TumilitySubstituted forSchalkat 84'minutes
- 15DaviesBooked at 90mins
- 28van der Weg
- 7GardyneBooked at 40minsSubstituted forFranksat 90'minutes
- 6O'BrienBooked at 83minsSubstituted forRoutisat 85'minutes
- 10BoyceBooked at 90mins
- 5SimunovicBooked at 88mins
- 49ForrestSubstituted forRobertsat 69'minutes
- 14S Armstrong
- 8BrownBooked at 90mins
- 18RogicSubstituted forGamboaat 63'minutes
- 10DembeleSubstituted forGriffithsat 63'minutes
- 2K Touré
- Don Robertson
- Shots on Target
Second Half ends, Ross County 2, Celtic 2.
Andrew Davies (Ross County) is shown the yellow card.
Liam Boyce (Ross County) wins a free kick in the attacking half.
Scott Brown (Celtic) is shown the red card.
Foul by Scott Brown (Celtic).
Liam Boyce (Ross County) is shown the yellow card for a bad foul.
Foul by Liam Boyce (Ross County).
Scott Brown (Celtic) wins a free kick in the defensive half.
Substitution, Ross County. Jonathan Franks replaces Michael Gardyne.
Goal! Ross County 2, Celtic 2. Liam Boyce (Ross County) converts the penalty with a right footed shot to the bottom left corner.
Penalty Ross County. Alex Schalk draws a foul in the penalty area.
Jozo Simunovic (Celtic) is shown the yellow card.
Penalty conceded by Erik Sviatchenko (Celtic) after a foul in the penalty area.
Tim Chow (Ross County) wins a free kick in the attacking half.
Foul by Leigh Griffiths (Celtic).
Jason Naismith (Ross County) wins a free kick in the attacking half.
Foul by Leigh Griffiths (Celtic).
Stuart Armstrong (Celtic) hits the bar with a right footed shot from outside the box from a direct free kick.
Substitution, Ross County. Christopher Routis replaces Jim O'Brien.