"It's always good to have a tiebreaker against a team that you think is going to be around the same spot as you for a playoff spot," Bucks coach Scott Skiles told reporters.
Milwaukee (30-28) had not won six games in a row since 2006.
The Bucks led by five at the half, but blew the game open with a 25-12 scoring advantage in the third quarter.
"Our defense was very good," Skiles said. "The two newest guys on our team (Salmons and Jerry Stackhouse) have blended right in with the unselfish play."
Stackhouse, signed by the Bucks in January, had 16 points in 25 minutes.
Salmons joined Milwaukee from Chicago as part of a February 18 trade.
"The most important thing for us is his size," Skiles said of Salmons. "We just didn't have that before."
The Heat (29-30) drew boos from the home crowd after the loss, their third in a row.
"I hope it don't get no worse than this," forward Michael Beasley said. "This feels bad."
Injured All-Star Dwyane Wade missed his fourth successive game for the Heat, who shot poorly with center Jermaine O'Neal top-scoring with 14 points.
Wade, who has a strained left calf, watched the game from the Heat's bench. His return date is uncertain.
"It's still a huge gap with Dwyane out," Miami's Dorell Wright said. "But we still have to play hard, defend and have more effort. We just didn't play as hard as they did."
(Reporting by Gene Cherry in Salvo, North Carolina; editing by Patrick Johnston)