The Spurs let a six-point lead slip away over the final 3:30 and saw their five-game winning streak come to an end.
San Antonio lost for only the fifth time this season and dropped to 11-3 on the road. Utah, which has the Western Conference's best home record at 9-1, captured its fourth straight.
Danny Green put the Spurs in front at 96-94 by hitting a jumper with 1:27 to play and Utah then scored the game's final five points.
Tony Parker missed an attempt for the Spurs and Williams put up a 3-point attempt with 9 seconds left that failed to go. Millsap, however, grabbed the offensive rebound and Utah called a time out to set up a potential game-winning shot.
That attempt was made by Williams, whose shot from beyond the arc gave him eight points for the game.
Both Duncan and Parker produced 22 San Antonio points.
Millions of Getty images now available for free via embed tool
Aaron Carter is still in love with Hilary Duff