TORONTO -- With four missed free throws in the final 20 seconds of overtime, the Charlotte Bobcats didn't make things easy on themselves Wednesday night.
Good thing they had Kemba Walker around to bail them out.
Walker hit a buzzer-beating jump shot in overtime and the Bobcats beat the Raptors 104-102 on Wednesday night, snapping a three-game losing streak in Toronto.
Walker had 29 points and Al Jefferson had 24 points and 11 rebounds as the Bobcats won their second straight.
Jefferson joked that Walker, who missed a pair from the line with 11 seconds left, had done so intentionally to set up the dramatic finish.
"Kemba, he lives for those shots," Jefferson said. "I really think he missed those free throws on purpose so we could be in that situation, because that's what he lives for. That's what he does. He's been doing that his whole life."
Walker, who was stripped on the final play of the fourth quarter before missing the key free throws in overtime, said he was eager for the chance at redemption.
"I wanted the basketball,' he said. "I wanted to make that shot. I was just happy to get the opportunity."
Jefferson had just five points in the first half, but was better after the break.
"This was his best game by far," Bobcats coach Steve Clifford said. "The second half he was terrific. He both rebounded and scored well in the second half."
After DeRozan made one of two free throws to tie it with one second left, Walker used a Jefferson screen to escape Lowry and hit a fadeaway jumper on the inbounds pass, giving Charlotte wins on consecutive nights for the first time since Nov. 5 and 6, when it beat New York and Toronto.
"I guess there was a little confusion on the defensive end," Walker said. "I just found myself pretty open. Josh made a great pass. I had a second so I had a chance to kind of turn around and set my feet and get a good shot up."
Lowry credited Charlotte for drawing up a "great play," but said it hurt to lose such a close game.
"You'd rather get blown out by 50 than lose on a buzzer beater," Lowry said. "Hats off to them. Great shot by Kemba."
Raptors coach Dwane Casey said the defense had to be better on the final possession, when Jonas Valanciunas was late on the switch as Walker got free.
"We need to be more precise and have more attention to detail," Casey said.
With 15 seconds left in a fourth quarter that had seven lead changes, Henderson made a pair of free throws to put Charlotte up 95-92, only to have Lowry promptly tie it with a 3.
After a timeout, Charlotte gave the ball to Walker for a potential game-winning shot, but he was stripped by DeRozan, sending it to overtime.
Charlotte led 102-99 with 19 seconds left in the extra session when Henderson missed a pair of free throws. After DeRozan cut it to one with a driving layup, Walker was fouled and also missed both. DeRozan was fouled while shooting at the other end, missing his first but tying the game by making the second.
"We kind of got lucky," Walker said.
Walker made sure there wouldn't be another overtime by catching McRoberts' inbounds pass and making an open jumper for the win.
"I, for one, am glad he made it, because I don't think I had enough wind for another overtime," Jefferson said.
Charlotte came in as the league's worst 3-point shooting team, but made eight from beyond the arc for the second straight night.
"If we could make eight 3s every game, it would help a lot," Clifford said.
Both teams shot poorly in the opening quarter, but Henderson had seven points and Walker made a pair of 3-pointers as the Bobcats led 18-15 after one.
Toronto was much better in the second, making 12 of 18 field goal attempts. The Raptors took the lead with an 8-0 run to start the quarter, and DeRozan scored 11 points in the second as Toronto took a 47-37 lead into halftime.
Walker scored 11 points in the third and Jefferson had 10 as the Bobcats closed the gap, knotting the score at 70-70 heading into the fourth.
The Raptors play five of their next six games on the road. ... F Chuck Hayes dressed for the first time since joining Toronto last week in the trade that sent Rudy Gay to Sacramento. ... Attendance was 15,201, a season low for Toronto.