CLEVELAND -- LeBron James had a big bash to celebrate his 25th birthday.

Anderson Varejao delivered his gift before the party started.

Varejao made his first career 3-pointer with 17.2 seconds left -- as the 24-second shot clock was about to expire -- to give Cleveland a disputed 106-101 victory over the Atlanta Hawks on Wednesday night, the Cavaliers' 11th victory in 12 games.

James scored a season-high 48 points and grabbed 10 rebounds for the Cavs, but the MVP would have dropped to 0-4 in games on his birthday if not for Varejao.

"That's a great gift," James said. "I had Andy in the gift exchange and so he paid me back. That's what friends are for."

With the score tied at 101 and the shot clock down to its final tick, Mo Williams passed the ball to Varejao on the left wing. The 6-foot-11 forward, who missed his first 18 career 3-pointers, stepped up and drilled his long shot just before the horn sounded.

When he ran to the other end of the floor, James rushed into his arms.

"I saw that Mo got kind of tied up and I just tried to get open," Varejao said. "I just shot it."

A birthday swish for James.

"That's what I told him," Varejao said. "Happy birthday."

The shot was initially ruled a 2-pointer, but after reviewing the bucket on video, the officiating crew determined that Varejao's feet were behind the line.

After Atlanta's Mike Bibby missed a 3 with six seconds left, Jamario Moon made two free throws to ice the Cavs' sixth straight win and 11th in a row at home.

Joe Johnson scored 35 for the Hawks, who were held to just 37 points in the second half and left Quicken Loans Arena shaking their heads.

"This is a game we should've won," Johnson said. "We had some unfortunate events that happened on the court and it happens. Unfortunately, we have to deal with it."

Atlanta coach Mike Woodson plans to file a protest with the league, contesting that the Hawks were robbed of a late possession by a shot-clock problem.

Woodson, who spent much of the night complaining about calls and non-calls, was annoyed that the officials did not notice that the 24-second shot clock was not reset following a miss by the Cavaliers with 1:56 left. The Hawks, who were leading 99-98, ended up not getting their allotted time and committed a costly turnover while rushing to get a shot off.

During a timeout, Woodson protested to the officiating crew and had a few choice words for the clock operator.

Woodson felt the error cost his team the game.

"We've got a one-point lead with the ball going the other way and we're rushing to get a shot because the clock is not in our favor," he said. "You figure it out."

Atlanta's Josh Smith, charged with a turnover on the controversial sequence, was upset that the play was missed by referees Ken Mauer, Courtney Kirkland and Ed Malloy.

"We were up by one, so that was a momentum swing," he said. "I thought one official was supposed to check the clock and not all three of them paid attention to the game."

Williams shrugged off the Hawks' planned grievance.

"What can they do?" he said. "They should protest, they lost. If they won, they wouldn't."

The Cavs, who spent much of the night looking uninspired and watching James, didn't take their first lead until their superstar's layup -- off a nice feed from Williams -- with 4:42 left made it 94-93.

Trailing by 17 in the third and looking awful, the Cavs finally woke up.

They went on a 22-7 spurt, capped by James' 3-pointer from the left wing to pull within 76-74. The run got Cleveland's crowd into it, but it didn't faze the Hawks, who closed the quarter with a 9-3 burst that gave them an 85-77 lead entering the final 12 minutes.

In his first quarter century, James has crammed in a lifetime worth of accomplishments.

He has already been a Sports Illustrated cover subject as a high schooler, a No. 1 overall draft pick, NBA Rookie of the Year, five-time All-Star, Olympic gold medalist, league MVP, multimillionaire and one of the most recognizable sports figures on the planet.

"It's amazing," Cavs coach Mike Brown said of James' early body of work. "You know how they say a young person has an old soul? Well, he's got an old game. It's athletic, powerful and energetic. The whole nine yards. It feels like he's been doing it forever."

Game notes

Mo Williams tied a season high with 10 assists. ... James' 48 was the most he's ever scored at home. ... Buffalo Bills star Terrell Owens, in town to celebrate James' birthday along with rappers Fabolous, Akon and others, was booed when he shown on the arena scoreboard. ... James' 13,927 points before turning 25 were more than any player in league history. Carmelo Anthony (10,768) was second followed by Kobe Bryant (10,658) and Tracy McGrady (10,420). James' 3,419 assists were the second-most for a player under 25, bettered only by Isiah Thomas (4,066). ... Cavs C Shaquille O'Neal holds the NBA record for the most points on his birthday. He scored 61 against the Los Angeles Clippers on March 6, 2000.