The player of the match took 3-12 on Thursday in an unplayable new-ball spell that helped to dismiss the Stars for 88.
And the allrounder made light work of a tricky run chase on a lively pitch, belting two sixes in a 14-ball 30 as the Heat won with 11.2 overs remaining.
The victory keeps the Heat (8-5) in third spot, two wins clear of the Melbourne Renegades and Perth Scorchers who have played one less game.
The Heat are due to play the Sydney Thunder on Saturday in Cairns before semi-finals begin later this month.
Melbourne were chasing their tails from the first ball when Johnson's out-swinging delivery had Lizelle Lee caught behind.
Their innings continued to splutter until the final over, when Delissa Kimmince (4-18) took three wickets to end their innings abruptly.
Beth Mooney (14 off nine) then had the Heat out of the blocks before Johnson took charge and Jess Jonassen (34 not out off 14) finished the job.