Dwyane Wade became only the fifth different player to reach 2,000 points, 500 assists, and 150 steals in a single season. Allen Iverson and Michael Jordan did it twice each.
'08-'09 Dwyane Wade
'07-'08 Allen Iverson
'04-'05 LeBron James
'89-'90 Michael Jordan
'85-'86 Larry Bird
Detroit led for the first 3½ quarters, and appeared ready to pull within a game of fifth-place Miami in the Eastern Conference standings, but Wade and Haslem made sure it didn't happen.
"They were pounding us for three quarters and a half, but we finally got some key plays down the stretch," Miami coach Erik Spoelstra said. "Dwyane was sensational -- that's what he's been all year -- and Udonis was great."
Mario Chalmers missed at the other end, but the rebound caromed long to Haslem, who drained a high-arcing jumper to put the Heat ahead.
• The Heat won back-to-back games against the Pistons for the first time since March 5, 2001.
• The Heat won in Detroit for the first time since Dec. 30, 2004, ending a six-game losing streak.
• Miami improved to 20-6 this season in games decided by six points or fewer.
• The Pistons were without Richard Hamilton (groin), Allen Iverson (back) and Rasheed Wallace (calf). Rodney Stuckey led the Pistons with 24 points.
-- ESPN research
"The ball went over everyone underneath and came out to me," he said. "I didn't know how much time was left, so I wanted to get it off quick."
After a timeout, Rodney Stuckey drove for what could have been the game-winning shot, but Wade blocked the ball and then saved the rebound to Haslem, who was fouled by Antonio McDyess.
"I told Stuckey on the way out of the timeout that I knew they were to do that -- I know his tendencies," Wade said. "I stayed solid and didn't get into his shot fakes, so I was able to get the block."
Detroit coach Michael Curry loudly protested the lack of a foul on Stuckey's play, and was ejected by Tony Brothers.
"We wanted Stuck to attack the basket, and that's what he did," Curry said. "I thought he was fouled on the play, and that's what I was complaining about."
Haslem then put the game away with four free throws -- the two for Curry's technicals and two for McDyess' foul.
"We knew just what was at stake in this game," Haslem said. "We knew how big it would be to get a win here."
Detroit has lost four of five, despite having a chance for victory late in each game.
"This is four games we've given away at the end," said Arron Afflalo, who had 13 points starting in the spot normally shared by Iverson and Hamilton. "We've got to find a way to pull these out."
Stuckey led the Pistons with 24 points, while McDyess had 16 points and 12 rebounds.
After trailing since the game's first basket, the Heat tied the score at 78 on Jamario Moon's driving layup with 7:35 to play. Moments later, Spoelstra picked up a technical that started a quick 5-0 run for Detroit.
Wade's fast-break dunk tied the score at 89 with 3 minutes left, but Jason Maxiell blocked O'Neal's go-ahead slam attempt on Miami's next possession.
After a Detroit miss, Stuckey fouled Wade, and his free throws gave Miami their first lead of the afternoon. Stuckey hit two free throws to tie it at 91, and the teams traded baskets to leave the game tied with a minute left.
O'Neal tipped in Haslem's miss to put the Heat ahead 95-93, and Wade blocked Afflalo's 3-point attempt, but Detroit retained possession and Herrmann's 3 gave the Pistons their last lead.
The first half was a duel between Wade and Stuckey, who had missed Detroit's previous game with flu-like symptoms. Wade won the individual battle, outscoring Stuckey 17-15, but the Pistons took a 47-43 lead at the break.
Wade scored another 14 points in the third, giving him 31, but his teammates only contributed 10 more, letting Detroit hang on to a 73-67 lead going into the fourth.
Neither team hit a 3-pointer in the first half, combining to go 0-for-9, while the Heat didn't have an offensive rebound. Miami finished 5-for-11 and the Pistons 2-for-12. ... Miami finished with 10 blocks, including four by Wade. Moon had three, and O'Neal, Michael Beasley and Jamaal Magloire one each. ... Wallace snuck into Afflalo's post-game interview session to taunt him about UCLA's loss on Saturday.