CHARLOTTE, N.C. - The Charlotte Hornets finally figured out a way to beat the Miami Heat: Play them without LeBron James.

Charlotte was 0-for-LeBron against the Heat in the James era, losing 16 straight regular-season games before getting swept in the first round of the Eastern Conference playoffs by Miami last season.

But with James in Cleveland, Al Jefferson scored a season-high 28 points and added 10 rebounds as Charlotte defeated Miami 96-89 on Wednesday night.

Nobody in the Charlotte locker room had ever beaten the Heat as a member of the then-Bobcats.

"It's good to get the monkey off our back," said fourth-year point guard Kemba Walker, who was 0 for 16 against James including the post-season.

With Chris Andersen still out with a rib injury, the Heat had no answer for Jefferson in the low post.

They tried Shawne Williams and Justin Hamilton on the 6-foot-9, 289-pound centre, but the Hornets continuously pounded the ball into the paint and Jefferson scored with relative ease, finishing 13 of 25 from the field.

"I feel like Birdman is a guy who does give me a challenge because he's a little taller, but all of the guys out there today I felt like I had an advantage," Jefferson said.

Jefferson has now scored in double digits in 30 straight regular-season games dating to last season. He has scored at least 20 points in 23 of those games.

The third-team All-NBA selection had everything working in his bag of tricks.

Jefferson was fouled on the wrist on the way up by Williams in the third quarter and threw up a prayer hoping the ball would go in. It hit the top of the backboard and lazily fell down on the rim, bounced a few times and went in for a three-point play.

Walker had 16 points and seven assists, and Cody Zeller turned in another solid game off the bench with 13 points and eight rebounds for the Hornets (2-3), who snapped a three-game losing streak.

Chris Bosh had 23 points and 13 rebounds for Miami (3-2). It was Bosh's fifth straight 20-point game to open the season. Dwyane Wade added 23 points for Miami, which has lost back-to-back games after starting the season 3-0.

Heat coach Erik Spoelstra said he likes the way Wade is rounding into shape.

"I've been very encouraged by his commitment," Spoelstra said.

The Hornets trailed 57-56 late in the third quarter before Walker put them ahead for good with a pair of free throws and rookie P.J. Hairston knocked down a 3-pointer from the left wing, helping ignite a 21-7 run.

Spoelstra went with rookie point guard Shabazz Napier down the stretch instead of Norris Cole, who struggled from the field and scored just two points on 1-of-6 shooting. Napier's driving layup with 2:07 left in the game cut Charlotte's lead to 88-85 with 2:07 left.

But Walker buried a 3-pointer over Napier, his former Connecticut teammate, from the right wing to give the Hornets some breathing room.

___

TIP-INS

Heat: Josh McRoberts was a key player in Charlotte's starting rotation, but he's seen limited playing time with the Heat this season while working his way back from a toe injury. He played less than eight minutes.

Hornets: The Hornets drafted centre Bismack Biyombo with the seventh pick in the 2011 NBA draft, but he's fallen out of the team's rotation and hasn't played in five games this season. ... Lance Stephenson was charged with a flagrant-1 foul for a screen he set on Mario Chalmers in the fourth quarter.

STRUGGLING STEPHENSON

Stephenson, Charlotte's big free agent acquisition, continued to struggle from the field. He was 3 of 12 and is shooting just 27 per cent through five games.

WHO IS AWAY?

The Hornets wore their "away" purple jerseys, giving their fans a look at all three of their primary jerseys. The team wore their teal and white jerseys in their previous two home games.

UP NEXT

Heat: Host Minnesota on Saturday night.

Hornets: Host Atlanta on Friday night.