It was Utah's eighth straight home win against the Grizzlies.
The Grizzlies, playing without leading scorer Rudy Gay because of illness, fought back from a 13-point deficit to take a 79-78 lead on O.J. Mayo's 3-pointer with 8 minutes remaining.
From there, the game went back and forth. It was tied at 81 and 83 before Williams got going. He made two free throws to make it 96-91, then passed to Gordon Hayward for a dunk that sealed it with 18.9 seconds left.
Zach Randolph led Memphis with 27 points and 16 rebounds. Mayo, who was back in the starting lineup, added 18 but was 3 of 9 from 3-pointer range.
Both teams were missing key players because of the illness.
Gay dressed for Memphis but did not play because of a stomach virus.
C.J. Miles, who sparked Utah with 20 points in a Dec. 6 win over Memphis, dressed but did not play because of flu-like symptoms.
Reserve Mehmet Okur missed his second straight game for Utah and the Jazz also lost another big man when Francisco Elson was ejected with 2:51 left in the first half after picking up two technicals protesting a foul against Marc Gasol.
NOTES: At halftime, Utah had no players in double figures, with Hayward and Paul Millsap leading the Jazz with eight apiece. ... Saturday was only the 16th time in his career that Williams failed to record an assist in a first half. ... Grizzlies G Mike Conley had X-rays of his ribs taken at halftime. They were negative and he played through the injury in the second half. ... The Grizzlies shot just 38.2 percent in the first half and committed 14 turnovers.