Inverness became the Scottish Premier League's Christmas number two with a comfortable home win over Dundee.
Billy McKay's scoring spree continued with a goal either side of a thunderbolt from Owain Tudur Jones before Andrew Sinnnie finished the job.
And by lifting their tally to 42, the Highlanders have matched their scoring record for the whole of last season.
Nicky Riley had briefly brought Dundee level but they will spend Christmas six points adrift at the bottom.
Terry Butcher's side are five points behind league leaders Celtic, who have a game in hand.
The visitors started brightly and a mistake by Gary Warren let Colin Nish in one-on-one with Inverness keeper Antonio Reguero, who did well to deal with the striker's effort.
Inverness opened the scoring on 12 minutes when Richie Foran was upended as he went for a rebound following one of several fine saves by Rab Douglas.
McKay stepped up to take the penalty and became just the second Inverness player to score in seven consecutive SPL games, matching Craig Dargo's feat of seven seasons ago.
Dundee were soon level with Nish's diagonal ball finding Riley unmarked on the right and he had the time and space to net the equaliser off the post.
Caley Thistle were ahead again on 24 minutes when the ball broke to Owain Tudur Jones 24 yards out and his low thunderbolt eluded Douglas.
There was a chance for Dundee to draw level again just before half-time but Nish's 19-yard free-kick was just deflected over for a corner.
With three minutes of the second half gone, McKay showed that he can score whilst lying on his back as well as standing up.
In the split second that referee Kevin Clancy may have been thinking about another penalty, the supine striker's leg miraculously extended to poke the ball into the net for his 18th of the season.
By now Inverness were well in the ascendancy and Foran blasted what looked like a straightforward chance over the bar and Andrew Shinnie also missed.
However, Shinnie made no mistake with his next effort, cutting in from the left past two defenders to score from an acute angle and complete a memorable afternoon for Caley Thistle.
Inverness Caledonian Thistle
- 12 Reguero
- 02 Raven
- 03 Shinnie
- 05 Warren
- 14 Meekings (Cooper - 73' )
- 04 Tudur-Jones
- 08 Draper
- 10 Shinnie
- 07 McKay (Roberts - 87' )
- 09 Foran
- 17 Doran (Pepper - 88' )
- 01 Esson
- 32 Cooper
- 19 Morrison
- 21 Polworth
- 22 Pepper
- 18 Sutherland
- 23 Roberts
- 01 Douglas
- 02 Irvine
- 03 Lockwood
- 17 Benedictus
- 18 Gallagher
- 06 Davidson
- 07 Riley (Conroy - 83' )
- 08 McBride
- 10 Baird (Stewart - 66' )
- 20 McAlister
- 24 Nish
- 36 Baird
- 25 Toshney
- 26 Easton
- 04 O'Donnell
- 11 Conroy
- 23 Boyle
- 27 Stewart
Live Text Commentary
Full Time The final whistle goes and the game is over.90:00 +1:16
The assistant referee flags for offside against Colin Nish. Antonio Reguero takes the direct free kick.87:35
The referee blows for offside against Philip Roberts. Free kick taken by Rab Douglas.87:35 Substitution
Substitution Conor Pepper is brought on as a substitute for Aaron Doran.86:13 Substitution
Substitution Philip Roberts on for Billy McKay.85:43
Ross Draper takes a shot. Save by Rab Douglas.82:33 Substitution
Substitution (Dundee) makes a substitution, with Ryan Conroy coming on for Nicky Riley.80:38
Unfair challenge on Andrew Shinnie by Nicky Riley results in a free kick. Aaron Doran takes the free kick.78:19
Billy McKay is ruled offside. Declan Gallagher takes the direct free kick.77:06
Unfair challenge on Ross Draper by Mark Stewart results in a free kick. Direct free kick taken by Antonio Reguero.75:24
Ross Draper fouled by Iain Davidson, the ref awards a free kick. Gary Warren takes the free kick.72:39 Substitution
Substitution Matthew Cooper comes on in place of Josh Meekings.69:16
Aaron Doran provided the assist for the goal.69:16 Goal scored
Goal! - Andrew Shinnie - Inverness 4 - 1 Dundee Goal scored by Andrew Shinnie from inside the penalty box to the bottom right corner of the goal. Inverness CT 4-1 Dundee.66:47
Ross Draper gives away a free kick for an unfair challenge on Gary Irvine. Matthew Lockwood takes the direct free kick. Foul by Colin Nish on Antonio Reguero, free kick awarded. Antonio Reguero takes the free kick.66:23
Matthew Lockwood fouled by Aaron Doran, the ref awards a free kick. Matthew Lockwood takes the free kick.64:46 Substitution
Substitution Mark Stewart is brought on as a substitute for John Baird.64:46
Andrew Shinnie takes a shot. Save by Rab Douglas. Inswinging corner taken left-footed by Graeme Shinnie played to the near post, Gary Warren concedes a free kick for a foul on Colin Nish. Free kick taken by Rab Douglas.62:20
Gary Warren gives away a free kick for an unfair challenge on John Baird. Kevin McBride takes the direct free kick.61:22
Effort from long distance by Matthew Lockwood goes wide of the right-hand upright.
Free kick awarded for an unfair challenge on Nicky Riley by Graeme Shinnie. Free kick taken by Kevin McBride.60:24
Josh Meekings challenges John Baird unfairly and gives away a free kick. Matthew Lockwood takes the direct free kick.59:49
Shot from deep inside the area by Richie Foran clears the crossbar.57:50
Declan Gallagher fouled by Billy McKay, the ref awards a free kick. Rab Douglas restarts play with the free kick.56:28
Free kick awarded for a foul by Iain Davidson on Andrew Shinnie. Ross Draper restarts play with the free kick.55:55
Corner taken by James McAlister played to the near post, Billy McKay makes a clearance.54:23
The referee blows for offside. Free kick taken by Antonio Reguero.54:06
Andrew Shinnie gives away a free kick for an unfair challenge on Matthew Lockwood. Matthew Lockwood takes the free kick.53:27
Aaron Doran has an effort from just inside the box that misses to the left of the goal.49:59
Effort on goal by Iain Davidson from just inside the penalty area goes harmlessly over the target.49:24
Inswinging corner taken by James McAlister from the left by-line, Gary Warren manages to make a clearance.48:35
James McAlister concedes a free kick for a foul on Gary Warren. Direct free kick taken by Josh Meekings.47:29
Aaron Doran provided the assist for the goal.47:29 Goal scored
Goal! - Billy McKay - Inverness 3 - 1 Dundee Goal scored by Billy McKay from deep inside the penalty area to the bottom left corner of the goal. Inverness CT 3-1 Dundee.45:21
Free kick awarded for an unfair challenge on Kevin McBride by Owain Tudur Jones. Free kick taken by Kyle Benedictus.45:01
The referee blows his whistle to start the second half.45:00 +0:40 Half time
Half Time The half-time whistle blows.44:15
Foul by Gary Warren on Colin Nish, free kick awarded. Direct free kick taken by Colin Nish. James McAlister takes a short corner, clearance made by Gary Warren.42:03
Richie Foran fouled by Colin Nish, the ref awards a free kick. Graeme Shinnie takes the direct free kick.39:24
James McAlister takes a inswinging corner from the left by-line to the near post, clearance by Gary Warren.38:36
Graeme Shinnie concedes a free kick for a foul on Nicky Riley. Matthew Lockwood takes the free kick.35:19
Inswinging corner taken left-footed by Graeme Shinnie from the left by-line to the near post.34:09
Inswinging corner taken from the left by-line by Aaron Doran, Colin Nish makes a clearance.31:58
Unfair challenge on James McAlister by Josh Meekings results in a free kick. Kyle Benedictus takes the free kick.31:31
Graeme Shinnie fouled by Iain Davidson, the ref awards a free kick. Josh Meekings restarts play with the free kick.23:27
Richie Foran provided the assist for the goal.23:27 Goal scored
Goal! - Owain Tudur Jones - Inverness 2 - 1 Dundee Owain Tudur Jones fires in a goal from outside the box to the bottom left corner of the goal. Inverness CT 2-1 Dundee.22:03
Inswinging corner taken from the left by-line by James McAlister, clearance made by Ross Draper.21:27
Gary Irvine fouled by Richie Foran, the ref awards a free kick. Gary Irvine takes the direct free kick.20:30
Shot on goal by John Baird from just inside the area clears the crossbar. Inswinging corner taken by James McAlister from the left by-line, Unfair challenge on Antonio Reguero by Declan Gallagher results in a free kick. Free kick taken by Antonio Reguero.18:16
Assist on the goal came from James McAlister.18:16 Goal scored
Goal! - Nicky Riley - Inverness 1 - 1 Dundee Nicky Riley finds the net with a goal from the edge of the penalty box to the bottom left corner of the goal. Inverness CT 1-1 Dundee.16:54
Effort from long distance by James McAlister goes wide of the left-hand upright.15:32
Corner taken by Graeme Shinnie played to the near post. Short corner taken by Graeme Shinnie. The offside flag is raised against Richie Foran. Rab Douglas takes the direct free kick.14:29
Inswinging corner taken by Aaron Doran, Rab Douglas makes a save.11:50 Goal scored
Goal! - Billy McKay - Inverness 1 - 0 Dundee Placed penalty scored by Billy McKay. Inverness CT 1-0 Dundee.10:37
Richie Foran produces a right-footed shot from just inside the box and strikes the post. Penalty awarded for a foul by Declan Gallagher on Billy McKay.9:15
James McAlister produces a right-footed shot from outside the penalty box and misses left.7:21
Colin Nish takes a shot. Save by Antonio Reguero.6:35
Matthew Lockwood takes a shot. Save made by Antonio Reguero.6:04
Kevin McBride fouled by Ross Draper, the ref awards a free kick. Kyle Benedictus takes the free kick.5:00
The assistant referee flags for offside against John Baird. Antonio Reguero takes the direct free kick.1:22
Unfair challenge on Colin Nish by Gary Warren results in a free kick. Kyle Benedictus takes the direct free kick.0:00
The referee gets the game started.
Live data and text provided by our data suppliers