James Harden scored 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 Thursday night.
Rockets coach Mike D'Antoni said of his players, "They found a way. They've done it all year, and they'll keep doing it."
Stephen Curry had 28 points and Kevin Durant 27 for the Warriors, who had their NBA-record, 16-game home playoff winning streak snapped.
The victory was the Rockets' first on the road against Golden State in the playoffs in franchise history.
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 91-89 with 3:18 to go.
After Harden and Curry traded missed 3-point attempts, Gordon, who was 0-for-6 from beyond the arc to that point, buried 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.
"I wanted the timeout," Warriors coach Steve Kerr said of the decisive possession. "Draymond (Green) was trying to call one around four seconds, once he got trapped, and at that point the officials weren't looking and they're not going to look down at our bench. So I saw Draymond trying to call it, and I was hoping they'd give it to us, but we didn't get it."
D'Antoni said of the Rockets' defense on the play, "Just guys doing what they've been doing the whole quarter. They got into people. That's where Trevor (Ariza) got on Klay (Thompson) really in the corner and locked him down. You know they have a lot of movement, and we switch it, and guys just read it and played as hard as they could. They knew that one stop, the game's over more or less, and came up large."
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 3-point try by Curry at the final horn.
Harden credited the Rockets' defensive intensity for changing the game in the fourth quarter.
"Third quarter, Steph was getting too free, stepping out and making long threes," Harden said on ESPN. "We put the pressure on him to make him drive a little bit. Great team win."
Harden hit 11 of his 26 shots and Paul 10 of his 20 for the Rockets, who have won four of six road games in the postseason.
Gordon finished with 14 points while PJ Tucker contributed 16 rebounds and Clint Capela had 13 boards for Houston, which has rebounded from all four losses this postseason with a win.
Durant hit just nine of his 24 shots and Curry 10 of his 26 for the Warriors, who had been 4-0 in Game 4s during the Kerr era when up 2-1 in a series.
Green recorded an 11-point, 13-rebound double-double while Thompson chipped in with 10 points for the Warriors, who played without Andre Iguodala, sidelined due to a sore left knee.
"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."
Both teams made big runs in the first half, with the Rockets' lasting longer and producing a 53-46 halftime lead.
With all five starters scoring, the Warriors put up the game's first 12 points, holding the Rockets scoreless on 0-for-8 shooting for more than five minutes.
However, the Rockets got much the better of the rest of the half, outscoring Golden State 53-34 to build the seven-point edge.
Harden had 15 of his 30 points in the second quarter, during which the Rockets went up by as many as 10.
"They're a really good team, especially at home," Harden said of the Warriors. "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."
--Field Level Media
Houston | Golden State | |
James Harden 30 | Scoring | Stephen Curry 28 |
James Harden 4 | Assists | Draymond Green 8 |
PJ Tucker 16 | Rebounds | Draymond Green 13 |
Eric Gordon 5 | Free Throws Made | Kevin Durant 8 |
James Harden 3 | Steals | Stephen Curry 2 |
Clint Capela 2 | Blocks | Jordan Bell 1 |
Team | Points | FG% | 3PM-3PA | FTM-FTA | Assists | Rebounds | Blocks | Steals | Turnovers |
Houston | 95 | 39.0 | 12-38 | 23-27 | 12 | 41 | 9 | 7 | 13 |
Golden State | 92 | 39.3 | 9-27 | 13-14 | 14 | 49 | 3 | 6 | 16 |