Jerami Grant hit a game-winning jumper with 19.6 seconds left to cap a 24-point night and propel the Detroit Pistons to a 112-111 win over the host Boston Celtics, who entered Wednesday night's game with nine straight wins.
The game featured 25 lead changes and 15 ties.
Boston quickly turned around a six-point deficit with 9:44 to play by going on a 13-0 run that included a pair of Grant Williams 3-pointers, but Detroit never went away despite entering the game having lost its previous eight games by an average of 16.1 points.
The Celtics led 106-98 with 4:25 to play before the visitors went on a 10-2 run to take a two-point lead. Al Horford hit a corner trey to lift Boston, but Grant responded with the winner. Jayson Tatum missed a potential fadeaway winner with 1.7 seconds left.
Grant led the Pistons while Saddiq Bey and Cade Cunningham had 20 points and six assists apiece. Bey also had a game-high 11 rebounds, as well as six assists and two steals.
Boston's Jaylen Brown led all scorers with 31 points, while Tatum netted 22 and Williams 17 with four 3-pointers. Horford had 19 points, seven rebounds and seven assists.
The Pistons never trailed by more than four in the first quarter and faced the same deficit at half. Brown started the scoring with a 3-pointer and hit another 2:55 in to help establish Boston's second of three such leads.
Tatum followed with 1:23 left, but Hamidou Diallo scored a layup to bring the visitors within two.
The second quarter featured six ties, two thanks to triples by Kelly Olynyk. Aaron Nesmith and Williams responded with 3-pointers on Boston's side. Boston used a 5-0 run from the 1:45 to 51-second marks to establish a six-point lead. Horford's fast-break dunk closed the stretch. A pair of free throws closed the Pistons' gap afterwards.
Detroit held a 36-31 advantage in the third and led by one, 84-83, at its end. The Pistons scored the first five points and used a 13-2 run to take a five-point lead on Grant's triple with 6:30 left. The hosts led by three after a Williams layup with 1:57 left and the score was tied twice more before the period ended.
Two of Boston's usual starters, Marcus Smart (right ankle sprain) and Robert Williams (right calf tightness), didn't play after being listed as questionable on the pregame report.