"I felt great. My team does such a good job creating open shots for me. We really executed," said Okur, who missed Utah's last game with back spasms.
O'Neal didn't follow Okur out to the 3-point line, so the Jazz center was often all alone as he made four of five from beyond the arc.
When the Jazz didn't find Okur on the perimeter, their passes connected with Deron Williams slicing to the hoop or Carlos Boozer on the low block. Of their 42 field goals, the Jazz, who are the league leaders in assists at 26.6 per game, had assists on 38. Andrei Kirilenko had nine assists along with 10 points and seven rebounds.
"The way our team is structured, if they double on anybody or try to hedge up on anybody, then somebody is going to get open. If we do the right thing and pass the ball, we get plenty of layups," Utah coach Jerry Sloan said.
Boozer had 24 points and 15 rebounds while Williams added 24 points and 15 assists to give the Jazz their eighth straight win at home.
Ricky Davis made two free throws to cut Utah's lead to 94-92 with 3:44 to play, but the Jazz went on a 9-2 run to clinch the game. Okur made a 3-pointer from the left side to cap the spurt that put the Jazz ahead 103-94 with 1:19 to play.
Dwyane Wade led Miami with 26 points and 10 assists but missed a crucial shot during Utah's final run and went just 6-of-12 from the free throw line.
"I think Dwyane has a little bit of fatigue," Miami coach Pat Riley said. "He's normally an 82-83 percent (free throw shooter) and in big fourth quarters, he'll make eight or 10 in a row. He's just off a little bit."
Jason Williams and Davis both scored 15 points for the Heat, who have lost four of their last five games.
"They played physical, good, hard-nosed, get-to-the-basket basketball. There were a couple times where they beat us on simple cuts to the hoop," said O'Neal, who scored 12 points in 22 foul-hampered minutes.
Utah won its last game, 120-96 over the Los Angeles Lakers, without Boozer, who nursed a sprained right ankle, and Okur.
But the Jazz needed their two big men against the Heat, who shot 53 percent from the field and outscored the Jazz 54-48 in the paint.
"They're a team that has been struggling but they came at us real hard tonight," Deron Williams said.
The Heat were hurt by their ineptitude at the free throw line where they went 16-of-31.
The win snapped a seven-game Jazz losing streak against Miami. Utah last defeated the Heat, 97-85, on Jan. 15, 2004.
"This team brings out the best in you," Wade said about the Jazz. "I thought we played a great game but they just made more plays when it counted to win the ballgame."
For the third straight time, Riley was denied his 1,200th win. It may not get any easier as the Heat have four more games on their six-game Western Conference road trip.
Behind Wade's 14 first-half points, Miami led by as many as eight points early and shot 60 percent to lead 53-52 at halftime.
- Before the game, Sloan agreed to a contract extension through 2008-09.
- Utah F Matt Harpring suffered a bloody nose after a collision early in the second quarter and Okur had to leave the court briefly when his arm was scraped in the third period.
- The Heat were 8-of-18 on free throws over the first three quarters.
- Boozer was named the Western Conference Player of the Month by the NBA on Monday. He averaged 25.4 points and 11.2 rebounds to become the first member of the Jazz to win the monthly award since Karl Malone in November 2000.