Two first-half goals from Billy McKay, who later spurned a chance to claim his hat-trick when he missed from the penalty spot, were sufficient enough to overcome a Hearts side that finished with 10 men when Jamie Hamill saw red.
Inverness had not lost to the Jambos in the Highland Capital for three years and that record looked set to continue after just nine minutes.
David Raven sent Aaron Doran away down the right and he had time to look up, picking out the unmarked McKay, who from 10 yards out produced a controlled shot that was helped into the roof of the net by MacDonald.
The visitors almost responded as good work by Callum Paterson set up Jamie Walker, but from a tight angle he rolled a shot across goal and narrowly wide.
After Nick Ross had dragged his 25-yard drive past the post, Caley Thistle doubled their advantage in the 32nd minute courtesy of a swift counter attack.
McKay controlled Ross Draper's clearance and headed towards the Hearts goal before finding Doran. His shot was blocked, but it flew across goal to where McKay was lurking at the back post and from six yards he made no mistake.
Inverness were then presented with a wonderful chance in the final stages when they were given what seemed a harsh penalty.
After MacDonald had superbly denied Richie Foran, McKay's attempts to turn home the rebound were blocked by Hamill. Referee John Beaton, however, surprised everyone by pointing to the spot before sending the Hearts captain off for what the match official deemed to be a handball.
McKay took responsibility for the penalty in a bid to claim the match ball, but his low effort was saved down to his right by the excellent MacDonald.