TORONTO -- Sonny Weems hit everything he threw up Wednesday night: layups, jumpers, even swishing his towel into the locker room laundry hamper.
"I'm not sure that Weems will make 8 for 8 again," Clippers coach Kim Hughes said. "He shot and played very well."
Weems, who replaced rookie DeMar DeRozan in Toronto's starting lineup four games ago, has exceeded coach Jay Triano's expectations.
"I think Sonny was a guy earlier this year who was maybe going to be a role player on this team," Triano said. "But the kid comes back every night and works on his jump shot with DeMar. He works hard every day in practice and gives us something we don't have."
A bench-warmer for much of his rookie season in Denver last year, Weems isn't taking his starting spot for granted.
"You never get used to that because you can be pulled out pretty fast," he said. "I'm just glad that I'm getting the opportunity to play and show my talent."
A 3-pointer in the fourth was just the second of the season for Weems, who scored nine in the final quarter. Then, after the game, launched his towel over a scrum of cameramen and into the hamper.
"He's playing with a lot of confidence and we need him to play," Bosh said.
Andrea Bargnani had 21 points and eight rebounds and Antoine Wright and Jose Calderon each had 11 for the Raptors, who snapped a three-game home losing streak and moved two games ahead of idle Chicago in the race for the East's final playoff spot.
Toronto has won four straight over the Clippers and seven of the past eight meetings.
"Granted, we didn't play one of the stronger defenses in the league but we'll take everything we can get," Bosh said. "It still counts."
Raptors forward Hedo Turkoglu came off the bench for the second straight game and scored six points, with Wright starting in his place. Toronto has won both.
Bosh shot 6 for 7 and scored 15 points in the third as the Raptors took the lead for good. Toronto outscored Los Angeles 66-39 after the break.
"We kind of let up in the second half," Clippers center Chris Kaman said. "They changed up their offense a little bit, they stretched us out a little bit more, made us help a little bit too much."
Kaman had 22 points and 13 rebounds for the Clippers, who have lost 25 of 28 road games. Los Angeles lost 108-89 at Milwaukee on Tuesday.
"You want to keep playing hard but sometimes you just run out of energy and there's nothing you can do, you're out of gas," Kaman said. "You try to fight and fight and fight but at that point, in the fourth quarter, the game was kind of over."
"They have a goal of making the playoffs this year and they're trying to secure that so it's a playoff game for them," Gooden said. "I don't think we stepped up to the challenge of trying to make it a playoff game for ourselves. We let down defensively and couldn't get anything done offensively."
Jarrett Jack did not score but finished with 10 assists for Toronto.
Toronto shot 69 percent in the first to lead 31-28 after one quarter but the Clippers made four 3-pointers in the second to lead 53-48 at the half.
Bosh and Weems each scored four points as Toronto reclaimed the lead by opening the second half with a 10-2 run, forcing the Clippers to call timeout at 8:55, down 58-55. Los Angeles led 75-74 with just over two minutes left in the third, but the Raptors closed the quarter on a 7-0 run, taking an 81-75 edge into the fourth.
The Clippers shot 9 for 25 from 3-point range. ... Los Angeles is 1-11 in the second game of back-to-backs this season. ... DeAndre Jordan started in place of Gooden for matchup reasons, but played just four minutes in the first half. ... Clippers guard Baron Davis (back spasms) missed his second straight game.