It's not quite clear how the Charlotte Hornets came back to life. In one moment, on Jan. 16, they were dead, floundering hopelessly beneath the Eastern Conference playoff contenders with a 18-22 record and losses in nine of their last 10 games. That barely seems believable now, with the Hornets not only in the playoffs, but briefly tied for the No. 3 seed in the Eastern Conference after beating the Miami Heat, 99-96, on Thursday.

That's right -- the No. 3 seed belonged to the Charlotte Hornets. After the Hawks won, retaking a half-game lead, the Hornets are now in a three-way tie for the No. 4 -- totally respectable in its own right. They're 39-29 now, winning nine of their last 10 and 15 of their last 18 games. Through some sort of Game of Thrones fire magic, Charlotte's apparent death halfway through the season isn't just forgotten, but erased entirely.

A loss against the Heat on Thursday wouldn't have seemed so bad, though, not after all the wins Charlotte has piled up before this. Charlotte, on the second night of a back-to-back playing a team that has sat above them in the standings all season, wasn't going to be too disappointed if they couldn't steal a win on Miami's home court. When the Heat went up by 15 points in the second quarter, it seemed like this finally be a night where the Hornets just didn't have it.

But no. The Hornets wouldn't let it play out like that. Kemba Walker and Nicolas Batum led the charge as starters, each throwing seven assists while scoring 21 and 19 points, respectively. Al Jefferson added 21 points of his own, terrorizing the Heat's front line to the tune of 10 rebounds, too. Since Jan. 17, the Hornets have the NBA's 11th-best offense and fifth-best defense, which equals out to the sixth-best net rating. These wins aren't flukes; they do it against good teams, against bad ones, at home and even on the second night of a back-to-back on the road.

The win evens up Charlotte's head-to-head tiebreaker with Miami, which continues to make things easier for the Hornets if they really want to snag home-court advantage in the first round. Even with the incredible run they've been on, that's no guarantee -- four teams share their 39-29 record, with just two home court spots available. The Atlanta Hawks are heating up too, winners of nine of their last 11, while the Heat have still won seven of their last 10, despite the slip up at home.

But after this run from Charlotte, it's hard not to keep believing in them. Their defense-leads-to-offense approach with Walker and Batum leading the charge is what many coaches talk about wanting but only a few can actually implement. What is dead can never die, or so the Hornets hope, as their miraculous resurrection continues into the season's final month.

2 more things from Thursday

Matt Barnes' back at it again

In one of the more incredible NBA videos I've ever seen, John Henson blocked Matt Barnes, got ejected from the game, left the court down the player's tunnel, only for Barnes to follow him down the same tunnel with Bucks officials chasing after him to make sure he didn't seek out Henson and try to fight him. Reportedly, Barnes did seek him out unsuccessfully and then was escorted out of the arena with a couple security guards walking with him. Regardless, this is not a good look for Barnes, who has a long list of incidents in the league. His team lost, 96-86, and they're so shorthanded that they may not even be able to make it 48 minutes if the NBA does choose to suspend Barnes for his actions at the end of this game.

San Antonio suffocates the Trail Blazers

As magical as Portland has been -- their climb into the playoffs mirrors Charlotte's in many ways -- that same hocus pocus just doesn't work on the NBA's best defense, especially not in San Antonio. The Spurs smothered them, holding Portland to 44-percent shooting and Damian Lillard to 23 points on 19 shots. Given how well the Blazers have played recently, those are good figures, and the 118-110 win over Portland is an even better one.

Next up, the Spurs face the Golden State Warriors at home on Saturday. The Warriors will be on the second night of a back-to-back, seeing how they have to play the Dallas Mavericks on Friday, so that's an unfortunate part of this game. Otherwise, though, this is a matchup we've all been awaiting ever since Golden State crushed the Spurs at home back in January. The Spurs boast the NBA's third-longest home winning streak ever, currently sitting at 43 games. Nothing will put it to the test quite like a matchup against the team that's gunning for the most wins ever in an NBA season. Clear your calendar of events that night, because this will be a game you need to see.

Play of the night

Pinned him!

2 fun things

Jimmy Butler and Derrick Rose playing Password was the best thing I watched on Thursday.

Kawhi Leonard's always good for a highlight or two, even if he wished he wasn't since highlights aren't really his style.

Final scores

Raptors 101, Pacers 94 (Raptors HQ recap | Indy Cornrows recap)

Wizards 99, 76ers 94 (Bullets Forever recap | Liberty Ballers recap)

Hornets 109, Heat 106 (At the Hive recap | Hot Hot Hoops recap)

Hawks 116, Nuggets 98 (Peachtree Hoops recap | Denver Stiffs recap)

Bulls 118, Nets 102 (Blog a Bull recap | Nets Daily recap)

Bucks 96, Grizzlies 86 (Brew Hoop recap | Grizzly Bear Blues recap)

Spurs 118, Trail Blazers 110 (Pounding the Rock recap | Blazer's Edge recap)

Jazz 103, Suns 69 (SLC Dunk recap | Bright Side of the Sun recap)