All four goals came during the first half, along with two sendings-off which left both sides with 10 men.
Most of the significant action arrived before the break, with Nadir Ciftci firing the hosts in front on 17 when he collected Mario Bilate’s throw-in, ran into the box, held off two defenders before scoring from close range.
But back came Hamilton to level matters 11 minutes later through Mickael Antoine-Curier who pounced on an error by Callum Morris to lash home from 10 yards.
Yet their joy lasted barely 90 seconds as Darian MacKinnon was dismissed after collecting his second yellow card from referee John Beaton – the second one for verbal abuse.
Somehow, the 10-man visitors went 2-1 ahead through Tony Andreu (33) whose 25-yard shot squirmed under the body of keeper Radoslaw Cierzniak.
The second sending-off arrived five minutes before the break as Ciftci was shown another yellow card following a handball.
However, before the half-time whistle could be blown, the hosts had tied the match at 2-2 with Jaroslaw Fojut heading their second goal from Gary Mackay-Steven’s corner.
The second half at Tannadice was less eventful although both teams carved out chances, with Alister Crawford going close twice.
Hamilton almost sneaked three points in injury time when Martin Canning’s 12-yard header flew inches wide.
And with Inverness suffering their first defeat of the season, Hamilton move top of the table, while United remain third – all three teams are on 13 points.