TORONTO — Pascal Siakam called it "March Madness."

Madness, indeed.

Jeremy Lamb banked in a circus buzzer-beater from 48 feet Sunday night to lift the Charlotte Hornets to a jaw-dropping 115-114 win over the Toronto Raptors on Sunday.

One of the craziest endings in Raptors history left Scotiabank Arena fans standing in stunned silence, mouths agape, while the Hornets dog-piled in the corner.

A Charlotte broadcaster erupted with: "Good golly Miss Molly!"

"I don't know what to say," Siakam said. "He made a tough shot. I don't know how (much) better I could have guarded that. I had a deflection there. . . Yeah, March Madness."

Siakam relentlessly pestered Lamb as the clock ticked down, stabbing the ball out of his hands and beyond the halfcourt line before Lamb gathered it back up for the desperation shot — a disappointing ending to an inconsistent game for Toronto.

Kawhi Leonard had 28 points to top the Raptors (51-23), who were playing just their third game of the season with a full complement of healthy players. Pascal Siakam added 23 points, while Marc Gasol had 17 for the Raptors, Fred VanVleet added 12, and Serge Ibaka chipped in with 10.

Dwayne Bacon had five three-pointers in the third quarter to finish with 20 points on the night for the Hornets (34-39).

Kyle Lowry, who returned after missing the previous four of five games with ankle injuries, said the game shouldn't have come down to the buzzer.

"We didn't play well enough," Lowry said. "Energy in the second quarter and the third quarter . . . just didn't play well. They hit a lot of threes. We weren't sharp tonight."

The game pit a Hornets team hoping to claw their way up into a playoff position versus a Raptors squad hoping to build some momentum and chemistry among a roster that's looked like a revolving door with injuries, trades, and Leonard's load management.

The Hornets arrived on the heels of a big win in Boston a day earlier, fighting back from an 18-point fourth-quarter deficit.

Toronto led by 12 points early and looked like they were going to run away with it, but their advantage evaporated in a horrible third quarter. Bacon lit it up against a lackadaisical defensive effort by Toronto, and the Hornets took a 95-83 advantage into the fourth quarter.

"The sense of urgency defensively — at times we were not that committed to the game plan," Gasol said. "Five guys, we had doubt and dialogue and debates, too many of them. I thought it was pretty clear. And then it was finishing possessions with rebounds. The times we got spots, we couldn't finish them. It came back in the end and bit us."

Back-to-back dunks by Siakam and Leonard highlighted a 12-0 Toronto run that made it a one-point game with 4:12 to play.

Leonard gave Toronto a two-point lead with 45 seconds to play, then had a big block at the other end. A Toronto victory seemed like a sure thing, when Charlotte inbounded with possession with just four seconds left.

When was the last time Lamb hit a shot that big?

"In my driveway growing up, counting down by myself . . . five, four, three, two one," Lamb said.

Lowry, meanwhile, admitted his injured right ankle wasn't feeling 100 per cent.

"No this one is little bit tougher," he said. "It's going to be a process, but I'll get there. It's not going to be 100 per cent the whole season, I can tell you that right now. But I will get to the point where I will be able to move and cut and run the way I really want to run. It takes time. It's a work in progress and this was a good first step for me."

Is it worth returning before he's back at full health?

"I just want to get out there," Lowry said. "I can sit out until the playoffs with the type of injury I have, but I want to play. I want to keep a rhythm, get out there with the guys and play some basketball. If I can get out there and play, I'm going to go play. It could take me a while for this one to really heal but you don't want that."

The Raptors had routed Charlotte 127-106 in their other meeting this season, on Oct. 22.

Toronto led for most of the first half, taking a 12-point lead late in the first quarter. The Raptors led 32-27 to start the second.

A Frank Kamisky three-pointer capped a 13-0 Hornets run that saw them grab their first lead of the game, going up by five points midway through the second. The Hornets took a 58-57 lead into the halftime break.

The Raptors host the Chicago Bulls on Tuesday.