LeBron James had 34 points and 14 assists and the Cleveland Cavaliers held off the Portland Trail Blazers for a 104-98 victory on Wednesday night.
Mo Williams added a season-high 33 points, including a career-high six 3-pointers for the Cavaliers. Cleveland made 11 of 19 3-point attempts.
Brandon Roy had 23 points for Portland, and LaMarcus Aldridge finished with 21.
Cleveland, which led by as many as 11 points in the first half, took a 68-59 lead when James hit two consecutive 3-pointers in the third quarter.
But Portland went ahead 82-81 midway through the fourth quarter on Roy's layup and free throw. Ben Wallace got the lead back for the Cavaliers with a layup, and James hit a 3-pointer.
The Blazers stayed close, pulling to 92-88 on Greg Oden's pair of free throws.
But James hit another 3-pointer, and after Roy hit two foul shots but missed a key layup, Williams added another 3 to put Cleveland ahead 98-90 with 48.9 seconds left.
The Cavaliers had lost four of their last five on the road, including a 105-88 loss to the Los Angeles Lakers on Monday.
Pistons 95, Raptors 76
Tayshaun Prince scored 12 of his 25 points in the third quarter, helping Detroit pull away for the win.
The Pistons used Richard Hamilton as a reserve after the All-Star shooting guard started his first 611 games, including the playoffs, in his seven seasons with the team.
Detroit coach Michael Curry inserted 6-foot-9 forward Amir Johnson in place of Hamilton and kept superstar Allen Iverson in the starting lineup.
Chris Bosh had 19 points for the Raptors, who have lost seven straight.
Rodney Stuckey scored 17 points and Jason Maxiell had season highs in points (16) and rebounds (11) for Detroit.
Hamilton scored seven points in his first game off the bench since Feb. 1, 2002, when he was playing for the Washington Wizards. The following offseason, they traded him to Detroit for Jerry Stackhouse.
Celtics 98, Heat 83
Eddie House scored 20 points — more than he'd managed in any game this season — in the second quarter, finishing with 25 and Boston ran its winning streak to six games.
Ray Allen scored a game-high 27 for the Celtics, who were a season-high 15-for-25 from 3-point range. It matched the most 3s ever allowed by the Heat in their 21 seasons. Kevin Garnett had 16 points and 13 rebounds, and Paul Pierce added 14 points for Boston.
Dwyane Wade accepted his NBA player of the month award for December at halftime, under less-than-ideal circumstances — his team trailed 57-34. Wade finished with 25 points, Daequan Cook scored 20 and Michael Beasley added 17 points and 11 rebounds for Miami (22-19).
Rockets 108, Jazz 99
Yao Ming had 19 points and 12 rebounds, Rafer Alston scored 23 and Houston won for the sixth time in seven games.
Von Wafer added 21 points, including a pivotal 3-pointer in the closing minutes, and Luis Scola had 19 points and nine rebounds for the Rockets.
Deron Williams had 32 points and 11 assists and Ronnie Brewer had 23 for the Jazz, who've dropped seven of their last 10 road games. Andrei Kirilenko sat out for Utah after leaving Tuesday's game against Minnesota with a right ankle injury.
The Rockets were also short-handed, playing again without Ron Artest and Tracy McGrady, who've missed most of January with injuries.
Knicks 114, Suns 109
Nate Robinson made up for a momentum-shifting technical foul with 20 points for the Knicks, and Tim Thomas scored all 10 of his points in the first five minutes of the fourth quarter.
New York held Shaquille O'Neal to just one field goal in the second half after he had 18 points in the first.
David Lee, who along with Thomas was faced with trying to guard the much-larger O'Neal, led the Knicks with 25 points and 16 rebounds.
Knicks coach Mike D'Antoni got his first win against his former team. The Suns won 111-103 on Dec. 15 in Phoenix.
With the score tied 87-87 with less than 10 minutes left, Thomas scored seven points as the Knicks went on a 12-4 run. Robinson's three-point play gave New York a 99-91 lead.
Bucks 133, Mavericks 99
Charlie Villanueva had 32 points and 10 rebounds and Michael Redd added 27 points, lifting Milwaukee to the victory.
The Bucks didn't have Andrew Bogut for the fourth straight game due to back spasms. But after a 1-2 West Coast trip, they didn't need his physical presence or rebounding at home.
Milwaukee shot 69 percent for the final three quarters en route to a season-best 133 points and handed Dallas its worst loss of the season.
Dallas gave up midway through the fourth, with coach Rick Carlisle taking out both Jason Kidd, who finished with 18 points, and Dirk Nowitzki, who went 7-of-16 from the field and 16-of-17 from the free-throw line to finish with 30.
The duo even walked onto the court toward the locker room before the final seconds ticked off.
Hornets 102, Nets 92
Hornets star Chris Paul narrowly missed his fifth triple-double of the season with 29 points, nine rebounds and eight assists.
Peja Stojakovic had 20 points and 10 rebounds for New Orleans.
Vince Carter scored 20 for the Nets, who lost their fourth straight, unable to take advantage of the absence of Hornets starters Tyson Chandler (left ankle) and David West (back spasms).
Stojakovic adjusted his perimeter game to make up for the Hornets' lack of size, sneaking inside to grab double-digit rebounds for the first time all season.
Rasual Butler added 14 points for New Orleans, which has won three straight. Julian Wright had 11 points and James Posey 10.
Bobby Simmons scored 16 points for the Nets and Keyon Dooling added 12.
Wizards 110, Kings 107
Antawn Jamison had 33 points and nine rebounds to help Washington hold on for the victory.
Trailing by 19 points entering the fourth quarter, the Kings showed some life.
Point guard Beno Udrih led the way, finding holes in the defense on drives to the basket and hitting outside shots. Udrih's 3-pointer with 43 seconds left cut the lead to 104-102.
A 3-pointer by Francisco Garcia reduced the Wizards' lead to 108-107 with 3.9 seconds remaining.
The Kings fouled Jamison, who responded with two free throws and put the Wizards ahead by three with 3.4 seconds left. Garcia missed a corner jumper with 1 second left to end the game.
Bobcats 101, Grizzlies 86
Raja Bell scored 25 points, Emeka Okafor added 20 points and 15 rebounds and the Bobcats continued their improved play.
Raymond Felton scored 19 and Gerald Wallace had 13 points and nine rebounds for the Bobcats, who have won four of five games and 10 of 17 following a trade that brought Bell and Boris Diaw from Phoenix.
They had to work to send the Grizzlies to their seventh straight loss, finally pulling away in the fourth quarter despite Rudy Gay's 26 points.
Gay got little help, as O.J. Mayo was held to 13 points — six below his average — and Memphis couldn't overcome 21 turnovers in falling to 2-16 on the road.