Utah's bench outscored Oklahoma City's 49-25, and the Jazz bigs dominated the boards, holding a 16-7 edge on offensive rebounds.
The Thunder also committed 20 turnovers.
The game was scrappy from the start, with Kendrick Perkins and Kevin Durant both called for flagrant fouls, and Perkins whistled for a technical. It was the first flagrant foul of Durant's career.
The Jazz led by seven entering the fourth but quickly put the game away, opening on a 6-0 run.
The Thunder were already down 17 when Durant bumped a driving Alec Burks out of bounds, then exchanged words with DeMarre Carroll after drawing the flagrant.
Durant finished with 33 points on 11-of-16 shooting, and Russell Westbrook added 22 points.
Overall it was the type of feisty game expected Thursday when Oklahoma City heads home for an NBA Finals rematch with Miami, which has beaten the Thunder five straight times going back to June's title series.
Perhaps the Thunder was looking ahead to that game, though they insisted they weren't.
Or perhaps they were thinking back on the past four, which they had won by an average margin of 25.3 points.
A fifth straight win by 20 or more would have broken a franchise record.
Instead they suffered their first loss since Feb. 2 at Cleveland.
While Utah's bigs made a big difference, Jefferson outscoring Perkins 23-4 and Millsap outscoring Serge Ibaka 18-10, Utah got the boost from its bench it needed.
Derrick Favors added 15 points, Burks and Carroll had 13 apiece and Earl Watson finished with six.
After being embarrassed early on by Westbrook, who opened 5 of 5 from the field, Jazz point guard Jamaal Tinsley put Utah up 75-63 with a pair of 3-pointers.
A steal by Tinsley then set up Millsap at the other end, giving Utah an 80-67 lead with 2:57 left in the third.
Back-to-back 3-pointers by Durant and a floater by Perkins helped get Oklahoma City within 86-79 going into the fourth.
Jefferson then scored two baskets and Burks another for a 92-79 Utah lead.
The Thunder was pretty much done after that, with both teams sitting starters the final 5 1/2 minutes.
Oklahoma City shot nearly 56 percent, while the Jazz were at 48.3 percent. But Utah took 19 more shots thanks to a 38-26 edge in rebounding.
The Thunder led 42-41 with 5:23 left in the second only to see Utah surge ahead 56-46 on a 15-4 run. It started with Randy Foye's 20-foot jumper after he returned to the court after bruising his right quad, continued with a steal and fast-break layup by Watson and ended with another pump-fake jumper by Jefferson with 2:27 left.
The Jazz also took advantage of scrappy play by Carroll, who had a seven-point quarter, and rough play by Perkins.
Perkins was called for a technical foul with 4:09 left in the quarter after jawing with Watson, then earned a flagrant foul with an elbow across Jefferson's neck less than two minutes later.
Utah took a 58-52 lead into the break despite shooting just 43.8 percent. The Jazz dominated the offensive boards, holding an 11-4 advantage at halftime. They had a 13-0 edge on second-chance points.
The win gave the Jazz 20 victories at home this season, and evened the season series with the Thunder after they lost by 12 on Nov. 30. They head to Minnesota before the All-Star break.