Marcus Stoinis almost single-handedly won the game for the Stars, as his 99 from 51 balls kept his side in the clash until the final over.
Stoinis was run out as he was looking for his hundred, and departed the crease with just two balls to spare, after an innings that saw him smash 12 boundaries, including six sixes.
The Stars were set 207 to win by the Heat, after Joe Burns and Alex Ross led the home side with half-centuries.
Burns (50 runs) and Ross (51) combined for 82 runs in a strong fourth-wicket partnership, following Brendon McCullum’s solid 40 as an opener.
Late in the innings, Ben Cutting’s quickfire 35 off 18 helped tick the score over 200, as the Heat registered 7-206, a score that was always going to trouble the Stars.
Melbourne got off to the worst possible start, as Ben Dunk was removed for a duck on just the second ball after being caught in the slips.
The visitors were behind the eight-ball from the opening over, and struggled to regain any momentum, with Kevin Pietersen (10 runs), Glenn Maxwell (8) and Luke Wright (19) all falling inside the first seven overs.
However, the game was given live when James Faulkner joined Stoinis at the crease, as the pair put on an impressive 137-run fifth-wicket partnership.
Despite their best efforts, the chase was just too big for the Stars, as they gallantly fought up until the final ball, before coming up short.