Rafer Alston scored 13 points, Kirk Snyder added 11 and Shane Battier had 10 for Houston, which had all five starters reach double figures and won its fifth straight preseason contest. The Rockets finish their exhibition season Thursday in Orlando.
Dwyane Wade had 26 points in 32 minutes for the Heat, who finished the preseason 2-5.
No other Heat player reached double figures -- while Houston, which also got 17 points and four 3-pointers from reserve Steve Novak, had six. All but two of Novak's points came in the final quarter.
Shaquille O'Neal managed nine points on 3-of-8 shooting -- both from the floor and the foul line -- in 22 minutes for Miami, which raises its NBA championship banner when the regular season opens Tuesday against the Chicago Bulls.
And the Heat clearly are ready for the preseason to end.
Alonzo Mourning was ejected with 2:07 left in the third quarter after picking up his second technical foul, and Gary Payton and Antoine Walker argued during a time-out in the second quarter, then continued their heated conversation on the bench -- as some teammates seated around them barely contained laughter.
Wade -- who was ruled out of the starting lineup 90 minutes before tip-off, then was a last-minute insertion -- hit his first five shots, all of them jumpers, including a pair of 3-pointers.
After McGrady elevated and hit a 3-pointer over him early in the opening quarter, Wade answered with one from long range over Snyder's outstretched arm.
Moments later, Snyder had something to really be embarrassed about.
He stumbled while chasing Wade near the top of the key, and was on the ground when the Heat guard got the ball and squared to shoot. But first, Wade took a glance down at Snyder, then fired and swished a 20-footer for an early 19-15 lead.
The game stayed relatively close until the third quarter, when Houston took control with a 16-2 run and built a 63-45 lead.
Mourning's second technical -- his first came after arguing a first-half foul call against Payton -- ended a bizarre sequence during which Houston held the ball for more than a minute, grabbing several offensive rebounds to extend the trip to the Miami end of the floor.
After Snyder's layup ended the possession and pushed Houston's lead to 67-48, Mourning slammed the ball down and it bounced into the stands. Referee Bill Kennedy originally called a delay-of-game warning on the play, but Alston appealed for a technical -- and after Kennedy checked with fellow ref Eddie F. Rush, the call was changed.