Eric Gordon's first three-pointer gave Houston an insurmountable lead late in the game as the Rockets held on to defeat the Golden State Warriors 95-92 to even the NBA's Western Conference finals at 2-2.
James Harden had 30 points and Chris Paul 27 for the Rockets, who regained home-court advantage in the best-of-seven series that returns to Houston for Game 5 on Friday.
Stephen Curry had 28 points and Kevin Durant 27 for the Warriors, who had their NBA record 16-game home playoff winning streak snapped.
In a see-saw affair in which both teams led by double figures, the Rockets got the better of the finish after Curry converted a three-point play to get the Warriors within two with just over three minutes to go.
After Harden and Curry traded missed three-pointers, Gordon, who was 0-for-6 from beyond the arc to that point, hit a 27-footer for a five-point cushion with just 2:25 to play.
The Warriors got back within 94-92 and had possession of the ball in the final seconds, but Klay Thompson misfired on a heavily pressured 16-footer.
Paul, fouled on the rebound, made one of two free throws with a half-second remaining to make it a three-point game, and the Rockets then sweated out a missed desperation three by Curry at the final horn.
Harden had 15 of his 30 points in the second quarter, during which the Rockets went up by as many as 10.
"(In the) third quarter, Steph was getting too free, stepping out and making long threes," Harden told ESPN. "We put the pressure on him to make him drive a little bit. Great team win.
"You knew it wasn't going to be easy. They started out 12-0. We kept fighting, kept fighting. I kept telling the guys, 'We can win this game.' And now it's a best-out-of-three."
The Warriors played without Andre Iguodala, sidelined with a sore left knee, but coach Steve Kerr said his team couldn't finish the job.
"Our normal sub pattern obviously was skewed with Andre's absence," Kerr said.
"I felt like in the fourth quarter, we just ran out of gas. Scored 12 points. Tried to buy a little bit of rest for our guys, but, yeah, they just outplayed us in the fourth and they earned it."