Aaron Brooks scored 24 points, hitting a pair of free throws with 18 seconds left after Boston cut a 12-point deficit to four and the Houston Rockets held on for a 108-102 victory over the Celtics on Monday night.

The Rockets snapped a five-game losing streak despite playing without leading scorer Kevin Martin.

Kyle Lowry had 17 with eight assists, Luis Scola scored 12 with nine rebounds and Jordan Hill had 12 points and eight rebounds for the Rockets.

Ray Allen scored 19 for Boston, Marquis Daniels had season highs of 19 points and seven rebounds and Rajon Rondo had 12 assists. The Celtics have lost two straight, but they hope that Kevin Garnett will be able to return against Sacramento on Wednesday.

With the loss, the Celtics (28-9) fell behind the Miami Heat (30-9) for the best record in the Eastern Conference.

The Rockets led by one point at the half and by six after three quarters before scoring six of the first eight points of the fourth. They were up 106-94 with 3:13 left before Daniels made a jumper and then Allen and Paul Pierce followed with 3-pointers to make it a four-point game.

With 19 seconds left, Houston needed three tries to inbound the ball — one was tipped away, one was an emergency timeout — before they got it to Brooks. He was immediately fouled, and he hit both free throws to clinch it.

Martin had scored 20 or more points in eight straight games, but he fell in Sunday's game against Utah and injured his right wrist. Brad Miller was also out, joining Yao Ming and leaving Houston short on big men.

Boston was without Garnett for the seventh straight game, but coach Doc Rivers said before the tipoff that Garnett could be ready to play against Sacramento.

The Rockets led by as many as nine points early in the second quarter before Daniels, who had seven in the period, led Boston's second team as it tied the score.

NOTES: New England Patriots defensive back Devin McCourty was sitting courtside. ... The Celtics fell to 16-3 at home. It was their first loss in Boston since Nov. 19, when they lost to Oklahoma City in a game Kevin Durant didn't play. ... The Rockets' five-game losing streak matched its longest of the season; they opened the season 0-5.