Updated

Richard Hamilton scored a season-high 35 points, Rodney Stuckey had 21 and the Detroit Pistons beat Toronto 115-93 on Wednesday night, snapping a five-game losing streak against the Raptors.

The Pistons fell one point shy of matching a season high and ended an eight-game road skid, winning away from home for the first time since Nov. 14 at Sacramento.

Charlie Villanueva had 18 points and former Raptor Tracy McGrady scored a season-high 17 to help the Pistons win for the third time in four games since blowing a 25-point lead to Toronto.

The Raptors trailed by 25 points in the third quarter of a Dec. 11 game at Detroit, but rallied to win 120-116 for the biggest turnaround in team history.

There was no such comeback in this one. Detroit led by 32 and easily sent the short-handed Raptors to their eighth loss in 10 games.

Leandro Barbosa scored 21 points, Linas Kleiza had 19 and Andrea Bargnani 16 for Toronto. DeMar DeRozan and Ed Davis each scored 10 points and Jose Calderon had 13 assists for Toronto, the third straight time he's reached double digits.

The Raptors had a season-high 24 turnovers, eclipsing the 21 they had in a Nov. 5 road loss to the Los Angeles Lakers.

Bargnani returned to the starting lineup after missing two of the previous three games. Bargnani, who sat out Sunday's loss to the Lakers with a sore right ankle, strained his left calf in the third quarter but stayed in the game.

Amir Johnson started for the Raptors but scored only two points in 15 minutes before leaving with back spasms. Joey Dorsey took over for Johnson to start the second half.

Detroit lost forward Jason Maxiell to a dislocated finger on his right hand in the second quarter. X-rays were negative.

NOTES: McGrady had seven rebounds and seven assists. ... Detroit's Ben Wallace played in his 1,000th career game. ... Raptors guard Sonny Weems (back spasms) missed his third straight game. ... Toronto guard Jerryd Bayless (illness) did not play.