"We definitely had some positive steps in our defense," said Harden, who shot 3 for 17 from the floor. "On the road, playoff-atmosphere game, it shows the type of camaraderie we've got and the kind of togetherness we're building."
Jeremy Lin added 15 points and seven rebounds to help Houston improve to 3-0 against his former team this season in a matchup for Western Conference playoff position.
Omer Asik added 17 rebounds for the Rockets (34-29), who are one game behind the Warriors (35-28) for sixth place in the conference.
"That's important," Lin said. "I actually didn't even think about (the tiebreaker) until today. But at the end of the day, if we don't take care of business from now until then we can forget about the tiebreaker."
Stephen Curry had 24 points and eight assists and Klay Thompson scored 22 points for Golden State, which fell to 2-1 during its season-long seven-game homestand. David Lee added 16 points and five rebounds for the Warriors despite bruising his right knee in the first half.
The Warriors shot 37.9 percent from the floor, while the Rockets were held to 36.5 percent. But Golden State was outscored 21-12 in the final quarter.
"I thought at times we were careless. I thought at times we were too passive," Warriors coach Mark Jackson said. "We didn't put the pressure on them. We settled. I think that was the difference. We settled."
The Rockets rallied to score the first nine points of the fourth quarter, going ahead 82-76 on Francisco Garcia's 3-pointer. Curry and Thompson each connected from beyond the arc sandwiched around another Houston basket, then the Warriors tied the game at 86 on Harrison Barnes' layup with 3:50 remaining.
Harden made 3 of 4 free throws over the next two possessions to lift the Rockets to an 89-86 lead. Lee's dunk off a pretty pick-and-roll pass from Curry brought the Warriors within a point before Harden made another from the line to extend Houston's lead to 90-88 with 1:09 to play.
After Barnes missed a mid-range jumper, Lin got Curry in the air and drew a foul. Lin, cut by the Warriors last year before breaking out with the New York Knicks, made both free throws.
Then Curry missed an open 3-pointer following a timeout, and Jackson declined to foul the Rockets after his players didn't immediately rush to get a whistle.
Instead, Harden lost the ball to Lee, whose quick pass ahead to Curry was intercepted by Carlos Delfino to seal Houston's victory.
"We're a young, streaky team and it was really important for us to come out and get this win," Rockets coach Kevin McHale said.
The Rockets entered the game averaging 107 points, which was tied with Oklahoma City for the most in the NBA. Houston had reached 100 points in 17 of past 18 games.
Houston helped its cause by making 25 of 34 free throws. Golden State shot 13 of 20 from the line.
The Rockets, who tied the NBA record with 23 made 3-pointers in a testy 140-109 rout of the Warriors in Houston on Feb. 5, started out strong from long range. They made 5 of 6 from beyond the arc to take a 17-16 lead to open the game.
The Rockets finished 15 for 35 from beyond the arc.
Golden State briefly lost Lee to a bruised right knee after the All-Star forward missed a rebound and fouled Thomas Robinson with 4:36 remaining in the quarter. Lee went to the locker room for observation, and he returned in the second half wearing a white wrap around the knee.
"I've been waiting eight years to be in a playoff race," Lee said. "Once the doctors told me I couldn't do anything worse to hurt it, I was going to play."
The Warriors withstood Lee's limitations and Houston's shooters for most of the game. They started attacking the basket instead of settling on the perimeter, going ahead 41-28 on Curry's floater in the lane in the second quarter.
The Rockets regained their rhythm from behind the arc. Houston ended the second quarter on a 22-7 run, making 10 of 20 3-pointers before halftime for a 50-48 lead.
After Houston went ahead by seven in the third quarter, the Warriors found some relief from an unexpected place.
Andrew Bogut's 3-pointer with the shot clock winding down highlighted 11 straight points to give Golden State a 70-66 lead. Bogut hadn't made a 3-pointer since Dec. 1, 2006. He is 2 for 23 from long range in his career.
Bogut finished with three points, 11 rebounds, four steals and two blocks in 28 minutes.
The Warriors wore their yellow short-sleeve jerseys with pinstripe shorts for the second time, while Houston had its retro red and yellow uniforms. ... Thompson has scored at least 20 points in a career-high four straight games. ... Houston hosts Golden State on March 17 in the final meeting between the teams this season.
Copyright by STATS LLC and The Associated Press
OAKLAND, CA - MARCH 8: Stephen Curry #30 of the Golden State Warriors stands with Jeremy Lin #7 of the Houston...