Kyrie Irving scored 23 points, LeBron James added 19 and the Cavaliers cruised to a 91-77 victory on Friday night.
The Cavaliers capped six games away from home and were playing for the second straight night, but it was the Rockets who looked tired and listless as Cleveland built a double-digit lead by halftime and pushed it to 20 in the third quarter.
Cleveland got back on track after a loss to San Antonio on Thursday night that snapped an eight-game winning streak before the team's showdown with Golden State on Monday.
"We wanted to try to finish off the right way," James said. "We knew this team was waiting on us and probably seen the game from last night and how much energy it took out of us, but we just came in with the mindset that we had to defend. We had to cut the head off the snake, and that's (James) Harden, and then just try to defend everyone else at the same time and we did that."
The Cavs held the Rockets to a season low in points with just 11 from Harden on 2-for-10 shooting. He missed all five of his 3-point attempts.
Dwight Howard had 14 points and 11 rebounds as the Rockets had their season-best, five-game winning streak snapped.
"The attitude has to be attack and that wasn't what we did tonight," Howard said. "We settled and we can't settle against any team, especially if we want to be a great team."
Cleveland ended a six-game losing streak to the Rockets with its first win in Houston since March 26, 2006.
Houston had 18 turnovers which led to 19 points for the Cavaliers and was outrebounded 49-40.
The Cavaliers, who haven't played at home since Jan. 4, will play five of their next six in Cleveland.
Irving exhaled heavily when asked how much he's looking forward to going home.
"Really excited," he said. "We've been on the road for so long. But one thing that these road trips do is it builds character for our team. Being around these guys, I wouldn't trade it for the world."
Cleveland led by 11 at halftime and quickly pushed its lead to 52-37. Trevor Ariza cut it to 12 with a 3-pointer with about 5 1/2 minutes left in the third quarter, but the Cavaliers scored the next nine points, capped by four from James, to make it 66-45 about three minutes later.
The Rockets missed six shots and had a turnover in that stretch to help Cleveland pad the lead.
Cleveland led by 17 entering the fourth quarter and an 8-2 spurt early in the quarter extended it to 76-55 with about 9 1/2 minutes left.
The Cavaliers extended it to 90-70 with about three minutes left. James and the rest of Cleveland's starters went to the bench soon after that.
Cavaliers: G Mo Williams missed the game because of a personal matter. ... J.R. Smith had 13 points. ... Kevin Love added 11 points and 13 rebounds.
Rockets: F/C Donatas Motiejunas has missed the last seven games with lower back soreness. ... Houston recalled G/F K.J. McDaniels from the NBA D-League. ... Howard had his eighth straight double-double. ... Patrick Beverley had 13 points.
James was looking forward to getting back to Cleveland, but not because he was thinking about the big game against the Warriors on Monday.
He has three important people that he can't wait to see when he gets home.
"I'm really not worried about playing basketball when I get home," he said. "I'm going to see my kids. I haven't seen my kids in 13 days and that's all I'm thinking about right now."
James has two sons and a daughter.
Love, on Anderson Varejao's four points, two rebounds, two assists and one steal in just more than seven minutes off the bench: "Andy was great ... he did everything he could out there in his minutes. He plays a kind of unorthodox style. You don't get a nickname 'The Wild Thing' without going out there and playing like he does."
Cavaliers: Host Golden State on Monday.
Rockets: Visit Lakers on Sunday.