Dwyane Wade had 25 points and nine assists, O'Neal and Moon combined to score 10 fourth-quarter points in their second game since arriving from Toronto, and the Heat improved their Eastern Conference postseason positioning by beating the Philadelphia 76ers 97-91 on Saturday.
Miami was down by three with 2:52 remaining, then went on an 8-0 run when the game mattered most.
"Probably the most important game of the season so far," said Heat forward Udonis Haslem, who finished with 13 points and 10 rebounds, including a key jumper with 1:33 remaining. "We felt like this was a must-win situation for us."
O'Neal had 17 points and 10 rebounds and Moon scored 12 for Miami. They were in perfect tune with Wade in the final minutes, with Moon getting free to score off a pair of baseline lobs and O'Neal scoring twice in a span of four possessions midway through the fourth quarter to take some pressure off the NBA's second-leading scorer.
"I felt so much more comfortable tonight than I felt the previous night," O'Neal said. "I've been working hard and we feel like we have a chance to keep building from here."
Moon airballed his first shot, saying he was too excited. By the end, he and Wade seemed like they were playing together forever, subtle nods of the head from one telling the other where they were heading.
"More to come," Moon said.
Andre Miller had 30 points -- the most by a 76ers player since late last season -- and nine rebounds, and Louis Williams scored 22 off the bench for Philadelphia, which is on its first three-game slide since December.
But Miller took care of that, going 11-for-21 from the field and 8-for-8 from the line. Despite a strained right calf, Miller started to extend the NBA's longest current streak of games played to 502. He's missed only three games in his 10-year career, the last coming Jan. 24, 2003.
"For a guy who was questionable coming in tonight, he was fantastic," 76ers coach Tony DiLeo said.
Miami trailed 87-84 after Miller hit a pair of free throws, but rallied with eight straight points and never trailed again.
Still, there was plenty of late drama.
Miller's layup with 22.9 seconds remaining drew Philadelphia to 92-91, but with the 76ers down by three, Williams airballed a 3-pointer with 15 seconds left. Wade followed with two free throws, and the Heat prevailed.
"It came down to the end," Miller said. "They just made the plays down the stretch to finish off the game."
Miami not only gained a bit of separation from Detroit and Philadelphia, but closed within 2½ games of Atlanta for the coveted No. 4 spot in the muddled Eastern Conference.
"Guys realized it," Heat coach Erik Spoelstra said. "What we like about it is it's typical Eastern Conference basketball ... and our guys are starting to thrive in these type of games."
The teams were tied at 40 at halftime, which would suggest a nip-and-tuck opening two quarters.
Miami raced to a 20-10 lead, then shot 1-for-10 as Philadelphia had a 17-2 run that Miller kickstarted with three quick baskets.
The Heat even going zone during that drought, with no success. On its first two trips against the 2-3, Philadelphia -- the league's worst 3-point team -- was 2-for-2 from beyond the arc, and the teams eventually headed to the break knotted for the second straight meeting.
It stayed close through the third, with Chris Quinn's layup giving Miami a 67-63 edge going into the fourth.
"A lot of games are going to come down just like this one ... and these are the games we're going to have to win," Wade said. "These are the games that make you feel good when you pull them out."
A moment of silence was held for Utah Jazz owner Larry Miller, who died Friday. ... Philadelphia, which had a season-high 26 turnovers in its first trip to Miami this season, had only seven on Saturday. ... Saxophonist Clarence Clemons sat courtside. ... Wade's first basket -- a two-handed slam -- gave him 501 points against Philadelphia, his most against any team. ... Miami Dolphins' mascot T.D. made his annual appearance, and unlike last year (when the Dolphins were 1-15), he wasn't booed. ... It was the 800th win in Heat history.