Kevin Durant, who had 42 points against the Lakers on Friday, stepped up with 33 against the Trail Blazers but his team saw their 10-point advantage with 3 1/2 minutes remaining shrink to just one.
Portland ran off nine straight points to pull within 84-83 with 21 seconds left, capped by Nicolas Batum's three-pointer, but LaMarcus Aldridge missed a potential game-tying shot and Oklahoma City clinched the game at the free throw line.
"It was inspired defensive basketball," Thunder coach Scott Brooks said. "Which was surprising, because we didn't have two of our best defensive players in the line-up."
Oklahoma City played without injured Serge Ibaka (chest) and Thabo Sefolosha (neck).
Despite his late miss, Aldridge had a massive game with a season-high 33 points and 11 rebounds, bouncing back from his season-low seven-point output one game earlier. Batum finished with 21.
The Thunder's 87 points was their lowest scoring total since they put up 84 in a season-opening loss to San Antonio.
Oklahoma City (29-8) grabbed their fifth win in six games to stay top of the Western Conference while the Blazers (20-17) dropped their second straight.
Portland, who had been going for a 10th successive home win, led by one at halftime before falling behind after the Thunder pulled out a 26-16 third quarter.
Russell Westbrook made just five of 21 shots but finished with 18 points, nine assists and eight rebounds.
Little-used DeAndre Liggins got his first career start and added 11 and nine rebounds for the visiting Thunder.
"The best part of this league is when guys get opportunities, they step up and produce," Durant said. "He was everywhere tonight."
- Sports & Recreation
- Oklahoma City
- Nicolas Batum
- Kevin Durant