Houston shot 57 percent in winning its second in a row. The Rockets moved seven games above the .500 mark in their quest for a playoff spot.
Harden had 20 points, Thomas Robinson added 15 and Omer Asik scored 13 points along with 11 rebounds.
Cleveland played without Kyrie Irving for a sixth straight game. Shaun Livingston had 14 points to lead Cleveland, which lost its fifth straight.
After building a three-point lead through one period, the Rockets outscored the Cavaliers by 12 in the second quarter to take control.