The Jazz, who were dominated by the Spurs in the Western Conference finals last spring, never trailed Monday night and held off the defending NBA champions 97-91. The game was full of collisions, hard fouls and some verbal exchanges and the Jazz countered everything the Spurs had.
The Spurs committed 20 turnovers and were just 13-for-38 from the field in the second half.
"I think our team is playing well because that's what happens when you play better defensively," Utah coach Jerry Sloan said. "It's a lot of work to play defense."
"They were better," said Manu Ginobili, who led the Spurs with 29 points. "We turned the ball over way too much. Twenty times against the Jazz is really hard to overcome."
The Spurs finished with 11 assists, three fewer than Williams. Boozer had seven assists and Kirilenko added four steals for the Jazz, who played a much rougher game than they did in the one-sided playoff series.
"We've been aggressive," Kirilenko said. "With teams like San Antonio you need to be aggressive. You can't let them feel free on the floor, because they'll destroy you."
The Spurs were opening a nine-game road trip, which was to continue Tuesday night in Seattle and not end until Feb. 13.
"We need to go out there and play well and get some confidence going," Duncan said. "We've got a tough stretch here with so many games on the road. We've got to start somewhere."
Every time the Spurs made a run, the Jazz came up with a big defensive play to end it. San Antonio tied it three times, but never took a lead.
In the fourth quarter, Ginobili drove for the basket, only to get knocked to the court in a collision with Boozer. Ginobili slowly got up and made both free throws to cut Utah's lead to 85-79, then Duncan scored again to get the Spurs within four.
Ginobili converted a three-point play after getting knocked to the court again and cut Utah's lead to 91-87. San Antonio's Ime Udoka had some words for Boozer as the two were separated and given technicals with 2:04 left in the game.
Udoka wasn't finished complaining and got another technical with 1:27 remaining as he said something as he passed referee Jim Clark. Kyle Korver made the free throw to put Utah ahead 92-89, then Matt Harpring grabbed a crucial offensive rebound with 1:11 left to keep the ball in Utah's hands.
The Jazz kept passing as the shot clock wound down and finally got it out to Korver, who hit a 3-pointer with 48 seconds left to put Utah up 95-89.
"Even though they were hitting some shots, we stayed calm and we were able to execute down the stretch and get some of the shots we wanted," Williams said.
The Spurs never recovered after a 13-2 run by Utah late in the third quarter as the Spurs got frustrated with some of the officiating and their own sloppy play. San Antonio turned it over six times in the third and was just 6-for-19 in the period.
Ronnie Brewer drove for a layup that somehow made it through several Spurs' hands before dropping through the net. Ginobili lost the ball under the Spurs' basket and the call went to the Jazz. Williams took it in for a layup that bounced out of the hoop, but Brewer was already in the air above everyone else to dunk the rebound.
The Spurs continued to come unraveled on the next possession when Kirilenko sneaked behind Ginobili, stole the ball and took it in for a reverse dunk. Boozer followed that with a layup, capping an 8-0 run.
The Jazz have won nine straight at home. ... Boston Red Sox manager Terry Francona, in town for a fundraiser, attended the game and sat in the third row. ... Duncan was called for a technical for complaining after Utah's Jarron Collins was called for a loose-ball foul with 5:45 left in the third.