Bosh had 25 points and 14 rebounds, and the Raptors ended a six-game losing streak with a 95-87 victory over the Eastern Conference-leading Cleveland Cavaliers on Wednesday night.
Joey Graham added 16 points and eight rebounds for the Raptors, who returned home following an 0-5 western trip.
"We needed this," Bosh said. "We had our road woes on the West Coast, but we wanted to protect our home court and just get the monkey off our back."
The Cavaliers, who played the night before, missed their first eight shots of the fourth quarter and finished 6-for-26 in the period.
"Can we get some defensive credit today? Damn," Toronto's T.J. Ford said. "I believe it was us. We gave a great effort and I think it kind of wore them down. When it came down to the stretch those open shots they got were either long or short."
LeBron James had 30 points, 10 rebounds and eight assists for the Cavaliers, who are 0-3 in the second game of back-to-backs this season. Cleveland beat Memphis on Tuesday night.
"I would hope that playing in a back-to-back had nothing to do with that loss," Cleveland coach Mike Brown said. "I do not want to be an excuse team."
The Raptors blew another big lead and struggled in the fourth quarter, but Cleveland was worse than Toronto in the final period. Toronto went just 5-for-15 in the fourth.
"We definitely needed this win to boost our confidence," Graham said. "If it took us not to hit shots and play great defense, than that's what we needed to do."
Toronto started the fourth period on a 10-0 run capped by Fred Jones' 3-pointer and Bosh's layup.
Ford's short jumper and layup gave Toronto a 93-85 lead with 1:17 left.
James made a jumper, but Jones followed with two free throws and Cleveland missed a number of shots in the final two minutes.
"We used a lot of energy coming back, and on the road it is difficult to get down like that," James said.
Bosh had 12 points and Toronto led by as many as 19 in the first half, but Damon Jones scored 10 points during a 19-2 second-quarter Cleveland run. Fans booed after Damon Jones' 3-pointer tied it at 47.
Toronto shot 46 percent compared to 39 percent for Cleveland.
Morris Peterson was scratched because of a slightly torn muscle in his left elbow, ending the longest consecutive games streak in the NBA. Peterson played in 371 straight games since Feb. 12, 2002. The elbow has bothered him for more than a week and an MRI on Wednesday showed the slight tear. He's listed as day to day. ... Toronto coach Sam Mitchell said he hasn't sensed that he's lost anybody in the locker room despite the struggles. ... Longtime PA announcer Herbie Kuhn missed game because he's adopting a child in Africa. ... Cleveland's starting backcourt of Eric Snow and David Wesley combined for just six points and five assists.
Warriors guard Stephen Curry provides an update on how his injured knee is progressing.
Golden State's Klay Thompson gets off to a hot start in Game 1 against Portland by scoring 18 points in the first quarter. The Trail Blazers only tallied 17 in the opening frame.
Trail Blazers guard Damian Lillard drives to the hoop but is denied by Warriors forward Draymond Green with authority.