Billups drew a late foul on Jason Terry and made two free throws with 2.2 seconds left, and the Nuggets overcame 44 points from Nowitzki to beat the Mavericks 99-97 on Tuesday night.
Billups scored 23 points and Nene had 20 to lead a balanced attack that helped Denver recover after blowing a 17-point lead.
The Mavericks were upset a foul was called on Terry, who came over to try and block Billups' jumper.
"The guy said I hit him with the body. There was no body at all," said Terry, who had 16 points in the Mavericks' third straight loss. "He kicked his leg out falling down, so I don't see how I could hit him with the body. He saw it different and that happens. Human error."
Billups said there was no question it was a foul.
"When I was up on my shot that's where I felt [the contact]," he said. "A foul's a foul. What can you do? A foul's a foul."
His teammates agreed.
"I thought it was a great call," guard Anthony Carter said. "They said he kicked out his leg, but Dirk does it all the time. Things happen, but he still got the contact."
Dahntay Jones had 16 points and Chris Andersen added 15 points and 10 rebounds for Denver. Jones scored seven points in the third quarter, when the Nuggets were trying to hold off the Mavericks, and Andersen had 13 points through three quarters, including a halfcourt buzzer-beater to end the third.
"Those guys won the game for us," Billups said. "It came down to [my] play, but without those guys we don't win this ballgame."
They nearly didn't. Denver led by one when Terry drained a 3-pointer with 2:12 left to give Dallas a 93-91 lead, its first since early in the game, and Nowitzki extended it to four with two free throws.
Billups hit a jumper, Nene tied it with 51 seconds left, and Carter's layup with 28 seconds remaining gave Denver a 97-95 lead. Nowitzki dunked to tie it with 19 seconds to play.
After a timeout, Billups drove to the lane and was fouled by Terry, putting the 90-percent foul shooter at the line.
"I think Jason was right there trying to contest the shot and he kicked his leg out," Nowitzki said. "The league told us that once you kick your leg out this season, it's automatically an offensive foul. It was a tough one to swallow."
The Mavericks trailed by six to start the fourth, and by as many as nine in the final period, before rallying to tie it at 86-all on a 17-foot jumper from Terry with 4:52 left. Billups answered with his second 3-pointer to give Denver the lead again.
The Nuggets took a 64-47 lead in the first minute of the second half but then went cold. After Billups' 11-foot jumper gave Denver a 66-55 lead with 8:27 left, the Nuggets went 6:32 without a field goal.
"Once they made their run and the momentum switched, we got to standing around and jump shooting," Nuggets coach George Karl said. "We had 25 layups in the first half and six in the second half."
The Mavericks tied it at 72 on a free throw by Jose Barea, but Jones converted a three-point play with 1.1 seconds left and Andersen stole Dallas' inbounds pass and hit a halfcourt shot to give Denver a 78-72 lead heading into the fourth.
"I'm not disappointed in the effort," Mavericks coach Rick Carlisle said. "I'm disappointed that we couldn't finish it off."
Nene led the Nuggets with 16 points in the first half, nine in the first quarter. Free throws by Billups and Nene and a 3-pointer by Carter pushed the lead to 60-47 at the break.
Billups, who had a season-high 30 against Detroit on Friday, made an impact early. He had eight points and three assists in the first quarter as the Nuggets took a 33-26 lead into the second.
After the game, Karl was upset that Mavericks owner Mark Cuban was interacting with Nuggets guard J.R. Smith at halftime. "I don't care if Cuban barks, but he shouldn't be barking at my players," Karl said. "I thought it was very unprofessional and irresponsible. If he sees something that he wants to deliver to the league, fine, he can do that. But he shouldn't on the court talking to one of my players."