Haslem hit consecutive jumpers to give the Heat some breathing room, and Mourning came up with three crucial rebounds and a clutch tip-in in the final minute as the Heat edged the Minnesota Timberwolves 91-87 Monday night.
"Everybody kind of stepped up," Mourning said.
They had to for Miami to avoid another embarrassing home loss.
Wade survived a horrendous shooting night -- 6-for-22, including 10 straight misses in one stretch -- to score 30 points, Haslem added 18 points and 16 rebounds, and O'Neal scored 15 points for Miami (7-17), which won for only the third time in 11 home games.
Mourning finished with 10 points, 10 rebounds and three blocks in 18 minutes.
Al Jefferson had 22 points and 20 rebounds for Minnesota, his 17th double-double of the season and second career 20-20 game.
"The turning point was that we didn't get the whistle that they got," Minnesota coach Randy Wittman said.
Miami got to the foul line 42 times compared to Minnesota's 23. Wade was 18-for-20 alone from the stripe, including a perfect 14-for-14 after halftime and 8-for-8 in the final quarter.
"That means he hit two jumpers, maybe? Our game is to make him hit jumpers all game," McCants said. "He was at the free-throw line. That kind of messes us up a little bit."
Despite the foul-line discrepancy, Minnesota (3-20) still had chances.
The Timberwolves led most of the second half before Miami used a 9-1 run to go up 81-76 with 3:23 left after Haslem hit jumpers on consecutive possessions. The Timberwolves got within one point on two occasions from there, the last when McCants hit a 3-pointer with 1:17 left.
But Mourning -- who entered when O'Neal fouled out with 3:07 left -- tipped in Haslem's miss with 59.7 seconds remaining to push Miami's edge back to three, Wade stole the ball from McCants on the next possession, and Miami held on.
"We came out and we fought and we did everything that we could possibly do to win the game," Telfair said. "So we can live with that."
For the second time in as many home games -- and continuing one of the Heat trends so far this season -- Miami started a home game well, built a quick margin, and then wasted it even faster.
Jason Williams made a couple early 3-pointers and Miami ran out to a 20-12 lead after 8 minutes. But the Heat scored only 21 points over the remainder of the half and went into intermission down 47-41 after the Timberwolves held Miami to 38 percent shooting in the first two quarters.
McCants and Jefferson each had 13 points in the half for Minnesota, which then held Miami to 26 percent shooting in the third quarter to preserve the lead.
For opponents, that usually means victory: Miami entered 1-13 when trailing after three periods. But Wade and Haslem combined for 21 points in the fourth, two less than the entire Minnesota roster.
"Finally, in the fourth quarter, we started making something," Heat coach Pat Riley said. "But the key was making crucial stops at the right time."
Former Miami center Michael Doleac started for Minnesota and scored four points. Antoine Walker, who also went to Minnesota in that October trade that brought Ricky Davis and Mark Blount to Miami, missed the game with a sprained left ankle. ... Miami avoided falling 12 games under .500 for what would have been the first time since the end of the 2002-03 season. ... Minnesota guard Greg Buckner missed his sixth straight game with a strained right calf. ... Scottie Pippen was among those sitting courtside.
The Los Angeles Lakers selected Croatian center Ivica Zubac with the No. 2 pick in the second round (No. 32 overall) of the 2016 NBA draft on Thursday night.
Myron Medcalf and Amin Elhassan discuss the 76ers' selection of Furkan Korkmaz with the 26th overall pick.
The Boston Celtics drafted Michigan State forward Deyonta Davis, sending him to the Memphis Grizzlies in a draft night trade that involves future draft picks.