"I know my record against Detroit is terrible," Anthony said. "It's good to get this one tonight after the grueling trip we had. We had to grind this one out."
J.R. Smith added 15 points and Arron Afflalo had 14 for the Nuggets, who had lost their previous seven games to the Pistons. Joey Graham, who with Malik Allen played in place of the injured Kenyon Martin (knee contusion), chipped in 13 points.
The Northwest Division-leading Nuggets didn't get back to Denver until earlier Friday after beating Golden State the night before. Martin was injured during the second quarter of Thursday's game when he banged his knee against another player.
"That was the biggest challenge we faced, having a tough game against Golden State last night, getting in at 4 in the morning and having to grit and grind it out against a team that was waiting for us," said Billups, who spent six-plus seasons in Detroit and helped lead the team to the NBA title in 2004. "That's a great win for us."
In the tightly contested game, the Pistons had gone in front 70-67 when Austin Daye made a 3-pointer with 2:36 left in the third quarter. The Nuggets responded with a 10-1 surge that helped them take a 77-75 lead into the fourth quarter.
The lead changed hands six times during the final period, with Detroit going in front for the last time at 93-92 on Hamilton's 3-pointer with 4:53 remaining.
Denver scored 10 of the next 12 points, punctuated by Billups' 3-pointer with 2:22 left after Maxiell had hit a short jumper to seemingly stall the Nuggets' momentum.
"It could have gone either way," Hamilton said. "Chauncey had a big shot with that 3. We had our chances. We didn't value the ball on a couple of possessions and they got the win."
Detroit coach John Kuester lamented the turnover factor in the fourth quarter, when the Pistons had seven of their 17 turnovers in the games.
"That ends up hurting you so bad," he said. "We need quality possessions. You've got to make sure you continually get good opportunities and it just didn't happen. They clamped down on us defensively, and we have to fight through that."
Billups and Anthony combined to make seven of eight free throws down the stretch secure the victory.
"This was a hard game for us to play," said Nuggets coach George Karl, who was back on the bench coaching after missing the Golden State game due to his treatments for neck and throat cancer. "I think we were a little fatigued. I was looking for some energy and a little zip. They have defensive players that match up well against us. But Chauncey really has a knack for finding a winning way in the fourth quarter and I thought we made some good stops down the stretch."
Down 29-22 after the first quarter, the Nuggets got a boost from Graham in the second quarter, when he scored 11 points, including a pair of breakaway dunks. Afflalo also connected twice from 3-point range and the Nuggets moved in front 53-49 at halftime.
The Nuggets improved to 30-3 when leading after three quarters, including 22-0 at home. ... It was Detroit's first loss to the Nuggets since March 1, 2006. ... Detroit lost for just the second time in 10 games when scoring over 100 points. ... Hamilton scored at least points for the 14th time this season. ... The Nuggets improved to 11-1 against Eastern Conference opponents at the Pepsi Center.