LaMarcus Aldridge had 25 points and 14 rebounds and the Blazers rallied from a 13-point second-half deficit to beat the Thunder 98-94 in a showdown of Western Conference heavyweights.
Damian Lillard added 21 points and 11 assists and hit a pair of clinching free throws with 2.1 seconds left for Portland, which beat Oklahoma City for the second time in December. Portland (25-7) snapped a two-game losing streak but still trails Oklahoma City (25-6) by a half-game in the Northwest Division standings.
Before Tuesday, Portland had lost consecutive games for the first time all season, falling to Miami on Saturday and at New Orleans on Monday. But this time, it was the Blazers who made the winning plays in the final moments.
"It was huge," Lillard said. "The better teams in the league, a lot of times, they don't lose two in a row. They hardly ever lose three in a row. We knew that that's not something we wanted to deal with, losing three in a row, especially after two heartbreakers. (Tuesday) we defended a lot better, we were focused and we knew what we needed to do coming in. ... We just kept with it and grinded it out."
Kevin Durant had 37 points and 14 rebounds for the Thunder, who had won 12 of their last 13 and 20 of the last 22 games before Tuesday. But Durant -- harassed by Nicolas Batum's physical defense -- managed only one point in the fourth quarter and missed an 11-foot jumper that would have tied the game in the final seconds.
"My teammates told me if I was contested that I probably would have made the shot," Durant said. "I'm sure that's going to replay in my mind for the rest of the night. I wish I could have hit that for my team. We probably would have been in overtime right now."
The Thunder scored only 16 fourth-quarter points and lost for the first time in six New Year's Eve home games since the franchise moved to Oklahoma City.
Oklahoma City led by 13 points midway through the third quarter, but Portland chipped away at that lead and took its first lead since the first quarter at 87-86 on two free throws by Aldridge with 3:58 left. Reggie Jackson answered with a jumper to put Oklahoma City back ahead, but Batum's 3-pointer gave Portland a 90-88 lead and the Blazers never trailed again.
"It's a long way to go," Portland coach Terry Stotts said. "It shows what we're capable of doing. We have to sustain it. But to get a win like that, after two disappointing losses, and again, getting it in a back-to-back on the road, that's a good win."
Portland led 94-90 after Robin Lopez hit two free throws with 59.1 seconds left. Jackson, who entered the game as the third-best free-throw shooter in the NBA, went 1 of 2 from the line at the other end.
Portland's Wesley Matthews missed a 3-point attempt and Lillard rebounded, but Thabo Sefolosha stole the ball from him and Lillard fouled him. Sefolosha hit both free throws to pull Oklahoma City within 94-93 with 23.6 seconds left.
Portland's Mo Williams missed two free throws with 15.8 seconds left and Serge Ibaka rebounded for the Thunder, but Lopez swatted the ball away and it went to Matthews, who was fouled by Durant and made two free throws with 9.2 seconds left.
Durant went to the line with 8.2 seconds left and made the first free throw, but missed the second. The rebound was tipped to him, though, and he had an open look but left the shot short. Sefolosha fouled Lillard, who made both free throws to clinch the win.
"That was like a playoff-intensity game in December," Oklahoma City coach Scott Brooks said.
Portland's 16-game streak of 100-point offensive outings ended, though, as the Blazers shot an uncharacteristic 39.6 percent from the field (36 of 91) and 24.2 from 3-point range (8 of 33). Portland did end a three-game losing streak to the Thunder in Oklahoma City.
"When you play (the Thunder), in our division, and you could face them later on, it's always a big game for us," Aldridge said. "We always want to win here or at home. To win it on the road is big for us."
The Thunder are 2-1 since All-Star point guard Russell Westbrook underwent his third surgery since injuring his knee during the playoffs in April. This season, Oklahoma City is 4-2 without Westbrook, who the team has said will be out until after the All-Star break.
Matthews finished with 16 points and Batum added 15 for Portland. Ibaka had 17 points and Jackson added 12 points and six assists for Oklahoma City.
Four days removed from his most recent surgery, Westbrook made an appearance in the Thunder's locker room before the game and was using a crutch ... Ibaka picked up a quick technical foul from official Joey Crawford after Ibaka complained about being called for a personal foul with 5 minutes left in the first quarter ... Portland is 6-2 this season against the other 20-win teams in the NBA.