Blake Griffin recorded a triple-double for Detroit but missed a last-second three-pointer as the Pistons went down 107-104 to the Milwaukee Bucks.
Griffin finished with 19 points, 10 rebounds and 11 assists but it was not enough to deny the Bucks, for whom Giannis Antetokounmpo scored a game-high 32 points and grabbed 12 rebounds.
Milwaukee were outscored in three of the four quarters but their performance in the second, which they dominated 30-16, proved key as they improved to 20-9, 1.5 games behind the Toronto Raptors at the top of the Eastern Conference.
James Harden scored almost half his side's points as Houston Rockets saw off the Utah Jazz 102-97
The in-form guard, who brought up a half-century of points against the LA Lakers last week, poured in another 47 as the Rockets recorded their fourth win in a row.
Paul George scored 16 points in five minutes as the Oklahoma City Thunder raced away from the Chicago Bulls in a 121-96 victory, while Rudy Gay finished with 21 and LaMarcus Aldridge and DeMar DeRozan 20 each as the San Antonio Spurs beat the Philadelphia 76ers 123-96.
Elsewhere, the Phoenix Suns downed the New York Knicks 128-110 for their third straight win, and Karl-Anthony Towns collected 14 and 14 rebounds as the Minnesota Timberwolves – for whom nine players scored in double digits – saw off the Sacramento Kings 132-105.
Steph Curry scored 20 points as he surpassed 15,000 in all regular season games during the Golden State Warriors' 110-93 victory over the Memphis Grizzlies, while Damian Lillard contributed a 39-point haul in the Portland Trail Blazers' 131-127 victory over the Los Angeles Clippers.