Cleveland Jamal Crawford never left the court in outplaying LeBron James.
Crawford matched a season-high with 30 points and guarded James from the opening tip until the final buzzer in leading the Chicago Bulls to an 87-80 win Friday night over Cleveland.
Corie Blount had a crucial block in the final minute as the Bulls stopped a four-game losing streak.
Crawford bounced back from a horrid game last week against Cleveland when he went 7-for-27 from the floor in a 95-87 loss.
The streaky guard responded by playing the entire 48 minutes, shooting 12-of-20 with five assists and slowing James. The Bulls won for just the fourth time in 19 games.
"We owed them one," said Crawford, who came in shooting 14-of-54 in his last three games. "They came to our place and got one, and we wanted this one real bad. We wanted to get even."
The Bulls sealed their eighth win on Crawford's breakaway dunk with 21 seconds remaining after Blount swatted away Kevin Ollie's layup and made a quick outlet pass.
James scored 18 points but missed a three-pointer with 35 seconds left that would have put the Cavaliers ahead. Cleveland misfired on its final eight shots and scored just one point after James' finger roll with 3:34 left.
In addition to carrying the Bulls' offense, the 6-foot-5 Crawford was given the assignment of guarding the 6-8 James, who had been on a recent scoring tear.
James had 34 Thursday in an overtime loss to Orlando and came in averaging 28.5 points in his last eight games. But Crawford made him work for everything he got and James went just 7-for-24, had a few shots rim out and forced a couple others.
"I knew I had some work to do," Crawford said. "When the coaches said, 'You take LeBron', that meant a lot to have that confidence in me. It energized me."
Kendall Gill added 21 points and Antonio Davis had 12 points and 11 rebounds for the Bulls, who took a three-point lead with 3:55 remaining on Davis' 14-foot jumper.
After Crawford missed a jumper, James drove to the basket and missed a short runner while trying to draw contact in the lane. He grabbed his own rebound but missed in a crowd underneath. In frustration, James complained vehemently that he had been fouled, and Cavs coach Paul Silas joined in with an earful for the trio of officials.
Silas said James isn't getting the benefit of the doubt just yet.
"When he goes in hard, it's either a charge or a foul," Silas said. "He's going to the basket and not getting calls. He made contact several times but they (the officials) are not giving it up."
James didn't come through down the stretch for the second straight game. He didn't score in the overtime loss to the Magic and was tired from the back-to-back games.
"I was a little winded," said James. "We had a chance to win and we just couldn't put it in there down the stretch. We just didn't execute."
After James hit a layup to bring Cleveland within two at 82-80, Bulls rookie Kirk Hinrich made a free throw.
On Cleveland's next trip, Ollie went to the basket but was rejected by Blount, who fed Crawford for the dunk. James then missed another short jumper, and Gill's two free throws with 13 seconds left iced it for Chicago.
"That play meant a lot," Blount said of third block. "Not because it was me, but because it helped us win. We really needed a win."
Carlos Boozer added 10 points and 14 rebounds for Cleveland, which is now 5-6 since Dec. 6.
Hinrich, a former Kansas University standout, finished with 12 points, eight rebounds and six assists.
Knicks 98, Grizzlies 94
Memphis, Tenn. -- Keith Van Horn scored 28 points and grabbed 13 rebounds and Allan Houston added 23 points.
The win snapped a seven-game road losing streak for the Knicks, while Memphis dropped its fourth straight and had its six-game home winning streak stopped.
Van Horn connected on 10 of 17 shots, and Houston was 9-of-14 from the field as the Knicks shot 52 percent. Kurt Thomas and Frank Williams each had 18 for New York, Williams adding six assists in a reserve role.
Six Grizzlies finished in double figures, led by Pau Gasol with 20 points. Memphis is now 15-14 this season.
Heat 92, Wizards 84
Washington -- Eddie Jones scored 22 points and Rasual Butler added 10 in the fourth quarter as Miami won its third straight.
Lamar Odom added 17 points and Dwyane Wade had 15 for the Heat, who have won four of six and seven of nine. Wade sprained his right wrist when he was pushed from behind in a scrum under the Heat basket with 1:20 remaining in regulation. X-rays were negative, and he was to be reevaluated Saturday.
Larry Hughes led the Wizards with 21 points. Washington, which fell to 0-8 against Atlantic Division teams, has dropped three straight and 11 of 14. Jarvis Hayes added 14 points.
Nets 82, Pistons 79
Auburn Hills, Mich. -- Jason Kidd had 24 points, 12 assists and 11 rebounds for his league-leading fifth triple-double.
Kidd made all six of his free throws in the final 1:13, and Chauncey Billups missed two 3-pointers in the final seconds.
Kidd shot 7-of-18, including 4-of-5 on 3-pointers, and Richard Jefferson scored 27 for the Atlantic Division-leading Nets, who have won eight of 10.
Detroit has lost seven of nine.
Hornets 109, Hawks 79
New Orleans -- David Wesley scored a season-high 32 points, including five 3-pointers, and the Hornets handed the Hawks their ninth straight road loss.
It was the most dominant performance in weeks for New Orleans, which came in having lost four of five games -- including a blown 16-point, second-half lead in Cleveland on Tuesday.
Wesley, who had some poor shooting nights during the slump, was 13-of-18 from the field. Baron Davis scored 21 points for New Orleans, while P.J. Brown shot 7-of-9 for 16 points to go with nine rebounds. Jamaal Magloire grabbed 11 rebounds.
None of Atlanta starters reached double figures.
Spurs 98, Magic 83
San Antonio -- The San Antonio Spurs used a late 15-0 run to break open a tight game and win their 12th straight.
Tim Duncan led San Antonio with 27 points and 16 rebounds, while Tony Parker added a season-high 22 points and Robert Horry had 14 -- his high total with the Spurs.
The Spurs began its winning streak Dec. 5 in Orlando after losing four straight and dropping into last place in the Midwest Division. San Antonio now sits atop the division.
Orlando didn't break the run until Zaza Pachulia put in a layup with 3.9 seconds remaining. The Magic missed seven straight shots and had three turnovers during the drought.
Bucks 101, Pacers 96
Milwaukee -- Damon Jones scored all 14 of his points in the fourth quarter to help the Milwaukee Bucks climb above .500 for the first time in more than six weeks.
Michael Redd scored 26 points, including a key 3-pointer with just over a minute remaining, as the Bucks came back after trailing by as many as 15. Milwaukee outscored Indiana 34-19 in the fourth quarter.
It was Milwaukee's second victory against the Pacers in as many tries this season. The Bucks shot over 53 percent in both games.
The victory pushed Milwaukee's record to 15-14. Indiana dropped to 21-9 -- still the East's best record.
Celtics 104, Suns 102
Phoenix -- Ricky Davis hit a 20-foot jumper with 2.8 seconds left and Paul Pierce scored 19 of his 27 points in the second half as the Celtics overcame a 17-point third-quarter deficit.
The game was somewhat reminiscent of the teams' meeting three weeks ago when the Suns produced the biggest comeback their history, rallying from 29 points down to win. This time, it was the Celtics who came from behind.
Walter McCarty added a season-high 20 points for the Celtics, and Mark Blount also had a season high with 16. Davis, obtained in a recent trade with Cleveland, had his Celtics' high with 14.
Shawn Marion topped the Suns with 25 points.
Jazz 97, Raptors 94, OT
Salt Lake City -- Andrei Kirilenko scored 17 points and made several big plays in overtime -- mostly with his defense against Vince Carter -- as Utah survived a fourth-quarter collapse.
Toronto scored five points in the final 5 seconds of regulation to force overtime.
The game was tied at 92 in overtime when Kirilenko drove and banked in a left- handed hook shot as he was knocked to the floor. He made the free throw for a three-point play. Kirilenko harassed Carter into three missed shots in the extra period, including a sensational block.
Carter scored 30 points and Rose had 18 for the Raptors, who have lost six of seven and are winless on the road against Western Conference opponents.
Blazers 101, T'wolves 92
Portland, Ore. -- Jeff McInnis had 21 points and eight assists to lead the Portland Trail Blazers to a victory over the Timberwolves on Friday night, snapping Minnesota's six-game winning streak.
Wesley Person had 16 of his 20 points in the second quarter when Portland outscored Minnesota 37-17 to take control.
Kevin Garnett had 27 points, 10 rebounds and nine assists for the Timberwolves. Sam Cassell added 23 points and Latrell Sprewell had 21.
The win puts Portland above the .500 mark at 14-13. The Timberwolves drop to 18-10, though they still stay in second place in the Midwest division.
Warriors 98, Kings 91
Oakland, Calif. -- Jason Richardson scored 25 points, and Nick Van Exel hit a running shot in the lane with 18.8 seconds left to help Golden State snap a 15-game losing streak against Sacramento.
Van Exel scored five points in the final moments as the Warriors barely held on for an impressive sweep of the NBA's top two teams. Golden State beat the Lakers, 107-98, Tuesday night before harassing the Kings into a rare night of poor shooting -- and then holding on against Sacramento's last-ditch rally.
Clippers 101, 76ers 98
Los Angeles -- Quentin Richardson scored 22 points, and Elton Brand had 20 points and nine rebounds as all five starters scored in double figures for the Clippers. The Clippers shot 48.7 percent, improving to 8-1 when they shoot 45 percent or better from the field. Corey Maggette had 18 points for Los Angeles, which won its fifth straight at home.
The 76ers, missing three-time NBA scoring champ Allen Iverson for the sixth straight game , lost for the fifth time in their last seven games.