History was made in the East End of Glasgow as Inverness CT won their first-ever league match at Celtic Park.
Billy Mckay was the headline-maker, turning in a cross to create another Champions League hangover for Celtic.
Neil Lennon's side have now lost two out of their last three home league matches, with the other a draw, all after midweek European matches.
But focus should be on the visitors as only the bar and a goal-line clearance prevented a more emphatic win.
Not that Celtic did not have chances; they just could not take any.
Mikael Lustig, Kris Commons and Georgios Samaras were the chief culprits on a day when nothing much went right for the home side.
And what a transformation in Caley Thistle. Could this really be the same side who shipped five goals to Motherwell last week?
Despite a promising start for Inverness, the first serious chance of the match fell Celtic's way; an excellent short pass from Beram Kayal sent Lustig into the area but, rather than shoot, he tried to cross and the opportunity was wasted.
Victor Wanyama tried his luck with an effort from outside the area but the shot was easily held by Antonio Reguero in goal.
Just before the half-hour, Inverness got into their stride and a strong run from Owain Tudor Jones from midfield created some space for the visitors' Andrew Shinnie but he totally miscued his strike wide.
Commons squandered a wonderful chance to put Celtic ahead. Played in by Gary Hooper, his right-foot shot went horribly wide. He would go on to have an afternoon he would rather forget.
As Celtic picked up the pace, Lustig should have put his side into the lead after being played in by Beram Kayal, but he side-footed straight into the side netting.
After a goalless first half - and, one would imagine, a bit of a dusting down from manager Neil Lennon - Celtic had the first chance after the break but the sight of Commons with his head in hands reflected his high blast over.
As Inverness grew in confidence, and pressed in the opening period of the second half, Efe Ambrose almost put into his own net for Celtic from Aaron Doran's cross.
But the Inverness threat would not be blunted for long and, on 64 minutes, just as Celtic prepared to bring on Paddy McCourt for Tony Watt, Philip Roberts broke down the right wing and checked back inside to flummox two Celtic defenders, before firing over a cross which was touched in by a grateful McKay.
Minutes later, Inverness created another chance but Jones just could not get a touch to another cross from the Celtic left.
Samaras then wasted a wonderful chance for Celtic, as his header was saved by Reguero when he really should not have been given a chance to reach it.
Inverness were good value for their lead - which should have been doubled when Billy McKay was played in again.
He watched his curling effort come back off the crossbar, and expected, as we all did, that Aaron Doran would bury the rebound, with keeper Fraser Forster stranded.
However, a split-second hesitation before shooting allowed Efe Ambrose to make a magnificent goal-line clearance to keep the deficit to one, and retain a glimmer of Celtic hope.
That petered out in three minutes of stoppage time, after which the Inverness players, and their delighted manager Terry Butcher, took a well deserved curtain call in front of a small band of ecstatic fans who have now seen their side win in the League Cup at Ibrox and, for the first time ever, at Celtic in the league.
- 01 Forster
- 02 Matthews (Brown - 69' )
- 04 Ambrose
- 21 Mulgrew
- 23 Lustig
- 15 Commons
- 33 Kayal Booked
- 67 Wanyama
- 09 Samaras Booked
- 32 Watt (McCourt - 65' )
- 88 Hooper (Nouioui - 76' )
- 24 Zaluska
- 43 Chalmers
- 08 Brown
- 20 McCourt
- 46 McGeouch
- 07 Miku
- 11 Nouioui
Inverness Caledonian Thistle
- 12 Reguero
- 02 Raven
- 03 Shinnie
- 05 Warren
- 14 Meekings
- 04 Tudur-Jones
- 10 Shinnie
- 07 McKay (Sutherland - 84' )
- 09 Foran Booked
- 17 Doran
- 23 Roberts Booked (Pepper - 90' )
- 31 Mathieson
- 32 Cooper
- 19 Morrison
- 21 Polworth
- 22 Pepper
- 16 Oswell
- 18 Sutherland
Live Text Commentary
Full Time The referee blows his whistle to end the game.90:00 +1:06
Fraser Forster restarts play with the free kick.90:00 +1:06 Substitution
Substitution Conor Pepper replaces Philip Roberts.90:00 +1:06
The assistant referee signals for offside against Aaron Doran.89:09
Free kick awarded for a foul by Scott Brown on Owain Tudur Jones. Josh Meekings takes the free kick.88:24
Corner taken by Charlie Mulgrew from the right by-line.86:59
Shane Sutherland fouled by Scott Brown, the ref awards a free kick. Free kick taken by Aaron Doran.86:14
Free kick awarded for a foul by Graeme Shinnie on Kris Commons. Direct free kick taken by Kris Commons.83:46 Substitution
Substitution (Inverness CT) makes a substitution, with Shane Sutherland coming on for Billy McKay.83:25
Andrew Shinnie takes the chance to get an effort at goal. Blocked by Efe Ambrose.82:53
Drilled right-footed shot by Billy McKay.82:19
Corner taken by Kris Commons.81:47
Graeme Shinnie concedes a free kick for a foul on Patrick McCourt. Free kick taken by Charlie Mulgrew.81:31
Kris Commons produces a right-footed shot from inside the area that clears the crossbar.80:56
Kris Commons has a drilled shot. Brilliant save by Antonio Reguero.80:37
Kris Commons decides to take a short corner.79:16
Corner taken by Kris Commons from the right by-line to the near post, clearance by David Raven.78:40
Charlie Mulgrew takes the direct free kick.78:40 Booking
Booking Richie Foran is booked.78:29
Gary Warren challenges Georgios Samaras unfairly and gives away a free kick.
Effort from inside the area by Kris Commons misses to the right of the goal.74:56
Gary Warren restarts play with the free kick.74:56 Substitution
Substitution Lassad Nouioui joins the action as a substitute, replacing Gary Hooper.74:56
Patrick McCourt challenges Andrew Shinnie unfairly and gives away a free kick.73:59
Outswinging corner taken left-footed by Charlie Mulgrew, Richie Foran manages to make a clearance.72:48
Foul by Andrew Shinnie on Efe Ambrose, free kick awarded. Efe Ambrose takes the free kick.71:33
Free kick awarded for an unfair challenge on Beram Kayal by Andrew Shinnie. Charlie Mulgrew takes the direct free kick.70:18
Shot from just outside the area by Kris Commons misses to the right of the target.67:59
Direct free kick taken by Charlie Mulgrew.67:59 Substitution
Substitution Adam Matthews goes off and Scott Brown comes on.67:59 Booking
Booking Caution for Philip Roberts.67:50
Philip Roberts gives away a free kick for an unfair challenge on Mikael Lustig.67:31
Owain Tudur Jones takes a shot. Save by Fraser Forster.67:12
The ball is swung over by Mikael Lustig.65:13
Effort by Victor Wanyama from a long way out goes over the target.64:46 Substitution
Substitution Patrick McCourt is brought on as a substitute for Tony Watt.64:00
The assist for the goal came from Philip Roberts.64:00 Goal scored
Goal! - Billy McKay - Celtic 0 - 1 Inverness Billy McKay scores a goal from close range to the bottom left corner of the goal. Celtic 0-1 Inverness CT.60:40
The offside flag is raised against Gary Hooper. Antonio Reguero takes the indirect free kick.60:24
Outswinging corner taken by Charlie Mulgrew from the left by-line, clearance by Owain Tudur Jones.56:59
The ball is sent over by Andrew Shinnie.55:38
Gary Warren fouled by Tony Watt, the ref awards a free kick. Free kick taken by Andrew Shinnie.54:32
Inswinging corner taken from the right by-line by Graeme Shinnie, Gary Warren has a header from close range and clears the crossbar.54:22
Aaron Doran crosses the ball, clearance by Efe Ambrose.51:19
Kris Commons produces a cross, David Raven gets a block in.50:37
Short corner worked by Graeme Shinnie.50:25
A cross is delivered by Billy McKay, clearance made by Charlie Mulgrew.47:37
The official flags Aaron Doran offside. Efe Ambrose restarts play with the free kick.46:58
Kris Commons produces a left-footed shot from just outside the area that goes harmlessly over the target.45:01
The referee starts the second half.45:00 +0:23 Half time
Half Time The ref blows to signal half-time.44:09
Foul by Victor Wanyama on Andrew Shinnie, free kick awarded. Direct free kick taken by Josh Meekings.41:30
Free kick taken by Josh Meekings.41:30 Booking
Booking Beram Kayal shown a yellow card.41:14
Foul by Beram Kayal on Andrew Shinnie, free kick awarded.39:54
Effort from inside the six-yard box by Mikael Lustig goes wide right of the goal.38:18
Kris Commons produces a right-footed shot from close in which goes wide of the right-hand upright.33:29
Gary Warren takes the direct free kick.33:29 Booking
Booking Georgios Samaras is shown a yellow card.33:24
Georgios Samaras concedes a free kick for a foul on Aaron Doran.32:15
Corner taken left-footed by Charlie Mulgrew, save made by Antonio Reguero.31:58
The ball is sent over by Mikael Lustig, clearance by David Raven.28:36
Shot from just outside the area by Andrew Shinnie misses to the left of the target.25:57
Beram Kayal takes a shot. Gary Warren gets a block in.24:05
Victor Wanyama concedes a free kick for a foul on Richie Foran. Graeme Shinnie takes the free kick.23:06
Adam Matthews crosses the ball, Gary Warren makes a clearance.20:49
Shot from 20 yards by Victor Wanyama. Save by Antonio Reguero.19:55
Foul by Gary Warren on Fraser Forster, free kick awarded. Direct free kick taken by Fraser Forster.19:17
Free kick awarded for a foul by Beram Kayal on David Raven. Free kick taken by Billy McKay.18:31
Free kick awarded for an unfair challenge on Richie Foran by Victor Wanyama. Free kick taken by Antonio Reguero.17:36
The ball is crossed by Gary Hooper.17:11
Unfair challenge on Victor Wanyama by Richie Foran results in a free kick. Direct free kick taken by Victor Wanyama.10:12
Kris Commons has an effort at goal from outside the area missing to the wide right of the goal.6:53
Philip Roberts crosses the ball, Efe Ambrose makes a clearance.4:29
Foul by Georgios Samaras on Andrew Shinnie, free kick awarded. Graeme Shinnie has an effort direct from the free kick.3:07
Philip Roberts is flagged offside by the assistant referee. Fraser Forster takes the free kick.1:37
The official flags Tony Watt offside. Indirect free kick taken by Antonio Reguero.0:52
The ball is sent over by Kris Commons, Antonio Reguero makes a save.0:00
The referee gets the game started.
Live data and text provided by our data suppliers