Match ends, Inverness CT 1, Celtic 0.
Inverness stayed top of the Scottish Premiership after inflicting Celtic's first league defeat of the campaign.
Nir Biton curled an effort against the Inverness crossbar and the hosts' Gary Warren had a header cleared off the line in an entertaining first half.
Eoghan O'Connell's own goal gave the Highlanders the lead, the ball ricocheting into the net off the defender from Lukasz Zaluska's save.
Nick Ross thought he had doubled the advantage only to have his shot saved.
And, with John Hughes' men having won three of their opening four matches, they now have 10 points from a possible 12.
Inverness were forceful throughout against a Celtic side showing 10 changes following Wednesday's 1-1 first-leg draw with Champions League play-off opponents NK Maribor.
Greg Tansey, boosted by his goal against Motherwell last week, twice fired narrowly wide early on.
However, the first save of the match came at the other end. Efe Ambrose improvised with a looping shot from the edge of the box after a free-kick was played short, but goalkeeper Dean Brill stretched to tip over.
Brill was called on again to deny Teemu Pukki twice in quick succession before Kris Commons also a drew a save from the Englishman.
The latter effort came from a counter-attack after referee Bobby Madden had waved away penalty claims following Filip Twardzik's challenge on Inverness youngster Ryan Christie.
The best shot of the first half came when Biton nonchalantly turned away from his man and curled the ball onto the crossbar with Brill beaten.
But Inverness came even closer to the opener moments later when Warren's header from Christie's inswinging corner was nodded off the line by Charlie Mulgrew.
Josh Meekings headed another Christie delivery over Zaluska's bar early in the second half, with the Polish keeper having replaced Craig Gordon in the starting line-up.
Leigh Griffiths was isolated in the Celtic attack but was afforded a rare sight at goal from Commons' through ball, only to fire straight at Brill.
The striker's match would soon be over as Anthony Stokes was introduced from the bench but not before Inverness moved into the lead.
The persistence of the industrious Marley Watkins paid off as his run and cross towards Billy McKay was parried by Zaluska off team-mate O'Connell and back into the net.
And Hughes' side could have doubled their lead after some shoddy defending allowed Inverness in again, Christie firing wide from the edge of the box.
Celtic's response to going behind was laboured and Stokes' shot from the left-hand side was well wide.
Still, Inverness were eager to press and a terrific run from Danny Williams ended with a pass to McKay's replacement Ross, whose low shot was turned wide by Zaluska.
But one goal proved to be enough for Inverness, while Celtic will aim to improve and likely ring the changes again for Tuesday's return leg against Maribor in Glasgow.
- 15WatkinsSubstituted forDoranat 89'minutes
- 7MckaySubstituted forPolworthat 80'minutes
- 22ChristieSubstituted forRossat 79'minutes
- 56TwardzikSubstituted forJohansenat 46'minutes
- 28GriffithsSubstituted forStokesat 68'minutes
- 20PukkiSubstituted forMcGregorat 46'minutes
- Bobby Madden
- Shots on Target
Second Half ends, Inverness CT 1, Celtic 0.
Attempt missed. Charlie Mulgrew (Celtic) left footed shot from outside the box misses to the right.
Attempt missed. Josh Meekings (Inverness CT) header from very close range is just a bit too high following a corner.
Substitution, Inverness CT. Aaron Doran replaces Marley Watkins.
Corner, Inverness CT. Conceded by Charlie Mulgrew.
Corner, Inverness CT. Conceded by Lukasz Zaluska.
Attempt saved. Nick Ross (Inverness CT) right footed shot from the centre of the box is saved in the centre of the goal.
Attempt missed. Anthony Stokes (Celtic) right footed shot from outside the box misses to the right.
Foul by Liam Polworth (Inverness CT).
Stefan Johansen (Celtic) wins a free kick on the left wing.
Corner, Inverness CT. Conceded by Efe Ambrose.
Ross Draper (Inverness CT) wins a free kick in the attacking half.
Foul by Stefan Johansen (Celtic).
Substitution, Inverness CT. Liam Polworth replaces Billy McKay.
Substitution, Inverness CT. Nick Ross replaces Ryan Christie.
Foul by Liam Henderson (Celtic).
David Raven (Inverness CT) wins a free kick in the attacking half.
Attempt missed. Ryan Christie (Inverness CT) left footed shot from the centre of the box is close, but misses to the right.
Attempt saved. Kris Commons (Celtic) right footed shot from the centre of the box is saved in the centre of the goal.