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.