The Jazz had lost eight of 10 and had been without Williams for the last four games after he strained a tendon in his right wrist against San Antonio on Jan. 26.
Williams scored 26 points and dished out 12 assists in his return - better than his season averages of 21.9 points and 9.4 assists that earned him his second straight All-Star pick this week.
Al Jefferson had 28 points and 10 boards, and Raja Bell scored 20 for the Jazz. Carmelo Anthony led the Nuggets with 31 points and Nene tied his career high with 28.
The game got chippy in the fourth quarter when J.R. Smith and Bell got tangled up underneath the Nuggets basket, then Smith fouled Bell on the perimeter. Finally, Smith was ejected for a flagrant 2 foul on Bell with 6:45 left and the Jazz leading 94-89.
After separating the teams, the officials reviewed the play. Anthony shot a technical foul shot for Denver and Bell sank two for Utah to make it 96-90. The Jazz went ahead 98-90 on Jefferson's ensuing basket.
The Nuggets never recovered.
Arron Afflalo's 3-point attempt to tie it at 107 rimmed out with a minute left and Jefferson's three-point play at the other hand made it 110-104 with 51 seconds remaining.
Williams scored 16 first-half points as the Jazz took a 50-47 lead into the locker room, then he dished out seven assists in the third quarter, including one to C.J. Miles, whose 3-pointer capped an 11-2 run that put Utah ahead 73-68.
Williams' three-point play and Earl Watson's 3-pointer gave Utah an 82-77 lead after three quarters.
The Nuggets kept it close from the foul line, where they sank 32-of-36 shots, compared to Utah's 17-of-18 performance at the stripe.
Even with Williams' return, the Jazz weren't at full strength. Forward Andrei Kirilenko's sprained left ankle prevented him from being matched up against Anthony, and center Mehmet Okur didn't make the trip because of a strained lower back.
Nuggets coach George Karl announced before tip-off that he would no longer platoon big men Kenyon Martin and Chris Andersen on back-to-back nights, although their minutes will still be monitored. Both are easing their way back after offseason knee surgeries and Andersen has also been dealing with a bad back.
Martin had five points and nine boards in 27 minutes and Andersen was soreness in 12 minutes.
Notes: Karl said he was disappointed that Nene was bypassed in favor of Kevin Love when Commissioner David Stern picked an All-Star injury replacement for Houston center Yao Ming. ... Rockies manager Jim Tracy has extended an offer for Karl to manage a couple of innings of a spring training game in Phoenix. ... Anthony was 17 of 18 from the line.