DETROIT (AP) -- Langston Galloway's shot from around midcourt sailed toward the basket, representing Detroit's last hope to force overtime in another tight game against Charlotte.
"It looked good," Hornets coach James Borrego said. "It looked good, but I think we played the play the right way. We did all we could."
Galloway's shot rimmed out at the buzzer, and Charlotte held on for a 110-107 victory over the Pistons on Friday night. The Hornets completed a home-and-home sweep of Detroit this week.
The Pistons must be wondering what they have to do to beat the Hornets. Charlotte edged the Pistons 109-106 earlier in the month and 102-101 on Wednesday night.
The Hornets have won nine straight over Detroit.
"I don't really buy into streaks like that, I guess," Charlotte forward Marvin Williams said. "The NBA, it's difficult to win a game. Sometimes you'll play against a team that's just kind of a little different matchup for you."
The Hornets rallied from an eight-point deficit in the final quarter and led by three with 8.9 seconds left. Detroit inbounded the ball, and Luke Kennard missed a 3-pointer from near the top of the key. Galloway was able to run down the loose ball, and his last-ditch shot looked on line, but it wouldn't go in.
"We are putting ourselves in position to win, we just have to get thought in the game, and execution in the fourth quarter and down the stretch," Detroit coach Dwane Casey said.
P.J. Washington scored 26 points for Charlotte, and Terry Rozier added 23. The Hornets were without center Cody Zeller because of a left hip injury.
Derrick Rose led the Pistons with 23 points.
With the score tied at 95, Galloway got a very friendly bounce off the rim when he sank a 3-pointer while being fouled. That four-point play started an 8-0 run, but Charlotte rallied.
Devonte' Graham put the Hornets up 108-106 with a 3-pointer -- the Hornets went 19 of 38 from beyond the arc.
Blake Griffin had a chance to tie it with 1:29 remaining, but he made just one of two free throws, and the Pistons didn't score again. Detroit finished 10 of 20 from the line.
NEXT MAN UP
In Zeller's absence, Bismack Biyombo has started the last two games for Charlotte. He had 19 points and nine rebounds Wednesday, then contributed 13 points and nine rebounds Friday.
"He ignites our defense. He makes us better on that end of the floor," Borrego said. "Our commitment to protecting the paint, keeping the ball in front -- and he's given us a tremendous amount offensively as well. His ability to run the floor, play with pace, rolling to the bucket, finishing big shots around the rim, tipping balls out, offensive rebounding."
Rozier made his first five 3-point attempts and scored 17 points in the first half. Kennard helped the Pistons mostly keep pace, making four 3s of his own in the first quarter.
The teams combined to make 21 3-pointers in the first half, the most in a first half in any NBA game this season. The Hornets led 62-57.
"I thought we started off bad defensively," Kennard said. "We started out and had thirty-something points in the first quarter and we were still losing at the end of the first. So, we've got to figure something out."
Hornets: Miles Bridges scored 16 points in front of a crowd that included Tom Izzo, his coach at Michigan State.
Pistons: The Pistons were without G Reggie Jackson (lumbar stress reaction). ... Detroit was called for its second delay of game violation at the start of the second half, so the third quarter began with a technical foul free throw for Charlotte, which Rozier made.
Hornets: At Milwaukee on Saturday night.
Pistons: Host San Antonio on Sunday.