SALT LAKE CITY -- Mo Williams is working his way back into playing shape after missing much of the season with a thumb injury.
He was feeling pretty good on Monday night.
Williams scored 20 points, Al Jefferson had 16 and the Utah Jazz snapped a four-game losing streak with a 103-90 victory over the Detroit Pistons.
Williams had surgery on his right thumb on Jan. 3 and missed 32 games before he returned Wednesday against Cleveland. He went 9 for 14 from the field and had six assists against the Pistons in by far his best game since the operation.
"I don't know how long it will be before I get fully back," Williams said. "But this is a good game for me confidence-wise. You miss a lot of games like that and you want to get your confidence back. You want to be able to be aggressive but you don't want to be aggressive and hurt the team."
Reserves Marvin Williams and Enes Kanter added 14 points apiece for the Jazz (33-31), who moved into a tie with the idle Los Angeles Lakers for the final playoff spot in the Western Conference. Utah had dropped seven of eight overall.
Rodney Stuckey, Greg Monroe and Jonas Jerebko each had 15 points for the Pistons (23-43), who lost their sixth straight game.
The Jazz returned home after a winless four-game trip and got back on the right track by controlling the area around the basket. Utah outrebounded Detroit 47-30, and Derrick Favours had three of the Jazz's nine blocked shots.
"They really hurt us on the offensive glass," Monroe said. "That might have been the key to the game tonight."
The Pistons closed to 84-79 on Will Bynum's two free throws with 7:01 left, but Mo Williams helped Utah hold on for the sorely needed victory.
Williams made a 3-pointer and a jumper to spark a decisive 12-3 run. He capped the surge with a driving layup that gave the Jazz a 100-85 lead with 2:00 left.
Detroit point guard Brandon Knight sprained his left ankle in the first quarter and did not return. His leg buckled after he was fouled by Jazz guard Randy Foye on a drive to the basket.
X-rays revealed no broken bones, but it sounds as if the Pistons could be without their floor leader for a while.
"The only thing I know is that it is not broke," coach Brian Hill said. "We will have to get more diagnosis than that, but it appears to be a very severe sprain right now."
It's been a rough couple of days for Knight, who was on receiving end of a monster dunk by DeAndre Jordan in Detroit's 129-97 loss at the Los Angeles Clippers on Sunday night.
Utah opened the second quarter with a 16-2 run to take a 36-21 lead. Kanter finished off the run by with an underhanded layup.
"We have good players and I never had the thought that they were about to come back on us," Kanter said. "Whenever the bench came in, we just did a really good job."
Detroit rallied in the second half. Jose Calderon made a 3-pointer and a jumper as the Pistons put together a 9-2 surge that trimmed Utah's lead to 55-46 with 8:57 left.
Stuckey fed Monroe for a layup that got the Pistons within six heading to the final period, but the rally fizzled down the stretch.
The Pistons have now lost 14 times in their last 15 games against Utah.
"I thought our guys were really focused," Utah coach Tyrone Corbin said. "They understood the sense of urgency. Regardless of who we're playing, we have to get better as a team and we have to perform."
NOTES: Utah forward Paul Millsap sat out with a bruised quad and patella. Favours replaced him in the starting lineup. ... Utah forward Jeremy Evans had a career-high five assists. ... Detroit is 0-12 on the road against Western Conference opponents. ... Monroe recorded his 30th double-double of the season.