Fans at Tannadice were treated to a cracker of a match as Dundee United and Inverness shared the spoils in a festive eight-goal thriller.
United went three up in eight minutes, Jon Daly and Rudi Skacel netting after Josh Meekings's own-goal opener.
A two-minute brace from Billy McKay brought the visitors back into the match before he converted a second-half penalty to complete his hat-trick.
Gary Warren headed Caley in front but Daly's injury-time penalty equalised.
McKay (centre) scored a hat-trick at Tannadice
An unfortunate own goal from Meekings put United ahead, as Daly mishit a cross from Barry Douglas into the path of the defender, who could only prod the ball into his own net.
Another error from the Inverness defence seconds later led to a second for the hosts. Graeme Shinnie attempted to clear the ball but his clearance cannoned off Daly's boot and past Antonio Reguero to double the lead.
An incredible opening spell concluded with Skacel scoring his first United goal with a cool right-footed finish past Reguero as the Inverness defence was carved open again.
Reguero was called into action as John Rankin tested the keeper with a shot from distance, before Gavin Gunning headed a Willo Flood corner over from seven yards out.
Inverness finally got a chance when Andrew Shinnie drove forward and rifled a 20-yard effort at goal, requiring Radoslaw Cierzniak to tip over.
And the pendulum began to swing towards the Highlanders when a Shinnie corner was met by a Richie Foran volley at the back post and McKay's deft header turned the ball into the net.
McKay doubled his tally within 60 seconds, nodding home an Aaron Doran corner to score the fifth goal of the opening half-hour.
Skacel came close with two efforts as the first half came to a close.
It was the home side who carved out the first real opportunity of the second period, Stuart Armstrong blazing a left-foot drive just wide from the edge of the box.
A low cross from Daly caused mayhem in the Inverness box as it deflected off Gary Warren's shin, but the net-bound ricochet was palmed away by Antonio Reguero.
Flood pounced on the rebound, but could only hit the post.
Seconds later, Flood's luck went from bad to worse as he bundled Ross Draper over in the box, McKay sending Cierzniak the wrong way to level the match and claim his treble.
Both sides continued to press for a winner in what had been an open encounter and Inverness had a great chance as Owain Tudor Jones headed a Graeme Shinnie corner goalward, Cierzniak acrobatically tipping over the bar.
Less than a minute later, Warren latched onto a deep cross from the right to head into the net off the post.
The drama was not over however as, in injury time, referee John Beaton penalised Foran for handball in the box.
Daly coolly stroked the ball down the middle to beat Reguero and have the final say in a breathtaking match.
90:00+4:08 The final whistle goes and the game is over.
90:00+2:30 Substitution Liam Polworth on for Andrew Shinnie.
90:00+2:20 GOAL - Jon Daly:Dundee Utd 4 - 4 Inverness CT Jon Daly scores a placed penalty. Dundee Utd 4-4 Inverness CT.
90:00+1:11 Booking The referee cautions Richie Foran for unsporting behaviour.
90:00+1:08 Handball by Richie Foran.
89:07 Substitution (Inverness CT) makes a substitution, with Philip Roberts coming on for Billy McKay.
85:20 Assist by Graeme Shinnie.
85:20 GOAL - Gary Warren:Dundee Utd 3 - 4 Inverness CT Gary Warren grabs a headed goal from close in. Dundee Utd 3-4 Inverness CT.
84:43 Inswinging corner taken by Graeme Shinnie, Johnny Russell manages to make a clearance.
82:10 Inswinging corner taken left-footed by Graeme Shinnie played to the near post, clearance made by Jon Daly. Clearance made
by Gavin Gunning. Inswinging corner taken by Graeme Shinnie from the right by-line, clearance made by Brian McLean.
82:10 Substitution Rudi Skacel goes off and Milos Lacny comes on.
82:10 Graeme Shinnie takes a inswinging corner from the right by-line played to the near post,
77:27 Substitution Shane Sutherland joins the action as a substitute, replacing Ross Draper.
76:02 The offside flag is raised against Richie Foran. Indirect free kick taken by Radoslaw Cierzniak.
75:08 Unfair challenge on Gary Warren by Jon Daly results in a free kick. Antonio Reguero takes the indirect free kick.
74:35 Josh Meekings challenges Jon Daly unfairly and gives away a free kick. Willo Flood takes the indirect free kick.
73:32 Richie Foran challenges Gavin Gunning unfairly and gives away a free kick. Willo Flood takes the free kick.
71:02 Barry Douglas takes a outswinging corner.
70:01 Outswinging corner taken by Willo Flood from the right by-line played to the near post, clearance by Andrew Shinnie.
69:12 Free kick awarded for an unfair challenge on Barry Douglas by Billy McKay. Radoslaw Cierzniak takes the free kick.
66:46 Substitution Michael Gardyne replaces Stuart Armstrong.
65:44 Free kick awarded for an unfair challenge on Jon Daly by Owain Tudur Jones. Indirect free kick taken by Willo Flood.
63:24 Owain Tudur Jones takes a shot. Save by Radoslaw Cierzniak.
62:13 Assist by Ross Draper.
61:39 GOAL - Billy McKay:Dundee Utd 3 - 3 Inverness CT Penalty taken right-footed by Billy McKay and scored. Dundee Utd 3-3 Inverness CT.
61:06 Booking The referee shows Willo Flood a yellow card.
60:48 Willo Flood gives away a Penalty for an unfair challenge on Ross Draper.
59:42 The assistant referee signals for offside against Johnny Russell. Indirect free kick taken by Antonio Reguero.
48:29 Brian McLean challenges Andrew Shinnie unfairly and gives away a free kick. Indirect free kick taken by Andrew Shinnie. Corner
taken by Graeme Shinnie.
48:29 Booking The referee cautions Brian McLean for unsporting behaviour.
45:25 Gavin Gunning concedes a free kick for a foul on Richie Foran. Aaron Doran restarts play with the free kick.
45:01 The match restarts for the second half.
45:00+1:07 The ref blows to signal half-time.
44:51 Gavin Gunning fouled by Aaron Doran, the ref awards a free kick. Indirect free kick taken by Radoslaw Cierzniak.
44:51 Booking Aaron Doran shown a yellow card.
40:30 Free kick awarded for an unfair challenge on Andrew Shinnie by Stuart Armstrong. Owain Tudur Jones restarts play with the
38:46 Gary Warren concedes a free kick for a foul on Johnny Russell. Free kick taken by Barry Douglas.
36:10 Foul by Andrew Shinnie on Willo Flood, free kick awarded. Willo Flood takes the indirect free kick.
35:34 Shot on goal by Rudi Skacel from just inside the area clears the crossbar.
31:49 The referee blows for offside. Radoslaw Cierzniak takes the free kick.
28:20 Booking The referee shows Johnny Russell a yellow card for dissent.
27:07 Assist by Aaron Doran.
27:07 GOAL - Billy McKay:Dundee Utd 3 - 2 Inverness CT Billy McKay grabs a headed goal from close range. Dundee Utd 3-2 Inverness CT.
26:35 Aaron Doran takes the inswinging corner,
25:45 Assist on the goal came from Richie Foran.
25:45 GOAL - Billy McKay:Dundee Utd 3 - 1 Inverness CT A goal is scored by Billy McKay from close range to the bottom right corner of the goal. Dundee Utd 3-1 Inverness CT.
24:25 Ross Draper takes a shot. Inswinging corner taken by Graeme Shinnie. Save by Radoslaw Cierzniak.
15:21 Willo Flood takes a outswinging corner from the right by-line played to the near post, Owain Tudur Jones manages to make a
clearance. Outswinging corner taken by Willo Flood.
11:56 The referee blows for offside against Richie Foran. Radoslaw Cierzniak takes the free kick.
9:06 Brian McLean challenges Billy McKay unfairly and gives away a free kick. Graeme Shinnie restarts play with the free kick.
7:19 Assist by Stuart Armstrong.
7:19 GOAL - Rudi Skacel:Dundee Utd 3 - 0 Inverness CT Rudi Skacel scores a goal from inside the box to the bottom left corner of the goal. Dundee Utd 3-0 Inverness CT.
5:45 GOAL - Jon Daly:Dundee Utd 2 - 0 Inverness CT Jon Daly scores a goal from inside the six-yard box to the bottom left corner of the goal. Dundee Utd 2-0 Inverness CT.
4:34 GOAL - Josh Meekings:Dundee Utd 1 - 0 Inverness CT An unfortunate own goal is conceded by Josh Meekings. Dundee Utd 1-0 Inverness CT.
3:33 The official flags Richie Foran offside. Free kick taken by Radoslaw Cierzniak.
0:00 The game gets underway.
Live text and data provided by The Press Association.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.