LeBron James scored 32 points to help the Heat cut a 21-point deficit to just two when they pulled within 93-91 in the final few minutes, but the Jazz held firm to consign Miami to a third loss in four contests on their six-game road trip.
"The game was too close to be nervous," Utah big man Al Jefferson said.
"I knew they would make their run, they are too good."
Gordon Hayward scored seven of his 22 points in the final three minutes, Al Jefferson added 23 and 11 rebounds as Utah (21-19) made sure their early hard work would result in a victory.
After being buried by the home team's assault through the first three quarters, Miami (24-12) embarked on a 21-5 spurt in the fourth to get back into the game.
Hayward responded with a pair of jump shots down the stretch and the Jazz made free throws as the Heat misfired.
"We can't dig ourselves a hole," said James, who moved to within 18 of becoming the youngest NBA player to reach 20,000 career points.
"Low energy against a team like this in their building in front of their amazing crowd - we can't play with low energy."
Chris Bosh added 16 and Dwyane Wade scored 11 for Miami, who were also out-rebounded by a comfortable 40-23 margin.
Wade did not play in the fourth quarter with coach Erik Spoelstra opting for an unconventional lineup.
"I don't know. I just always stay ready," Wade said.
The loss meant Miami's Eastern Conference lead was trimmed to just half a game ahead of their trip to Golden State on Wednesday.
- Sports & Recreation
- Al Jefferson