NEW YORK -- LeBron James raced in front of New York Knicks forward Carmelo Anthony in the final seconds, stealing a pass and streaking upcourt as Anthony's head dropped.
Anthony knew what the rest of the Knicks and their fans at Madison Square Garden did on Sunday -- the Miami Heat had finally beaten them this year.
James' steal and dunk, complete with a stare into the crowd at the Garden, capped Miami's 99-93 win, after the Heat's two earlier 20-point losses to the team hoping to challenge it in the Eastern Conference playoffs.
The victory gave the Heat a franchise-record tying 14-game win streak.
James led Miami with 29 points, 11 rebounds and seven assists, finishing strong and escaping after a scary collision with the Knicks' J.R. Smith midway through the third quarter. James landed hard and needed help getting up. He was limping a bit but able to remain in the game.
Dwyane Wade had 20 points and eight assists for Miami. Chris Bosh added 16 points for the Heat (43-14), all but two coming in the second half.
Anthony led the Knicks (35-21) with 32 points as New York's three-game win streak was snapped. Jason Kidd had 14 points for the Knicks on four 3-pointers, a resurgence for the veteran point guard who had scored 16 points combined in his last seven games. But Kidd managed just two points after halftime.
After the Knicks dominated the second quarter to build a double-digit lead, the teams bore down for a tense fourth quarter, with the game going down to the wire after New York's previous blowout wins this season.
The Knicks were within 97-93 when James stole the pass from Smith with 25 seconds left to seal the game.
Miami earned a small cushion earlier in the quarter after trailing most of the game. It went up 91-87 after James' leaping putback with 4:05 left, the four-point lead Miami's biggest since late in the first quarter.
The Heat pushed it to a six-point lead, 97-91 with 1:06 left when Bosh hit a jumper to follow James' drive right past Smith on Miami's previous possession.
With the Heat down 77-73 entering the fourth quarter, James hit back-to-back 3-pointers early in the fourth, strutting his way downcourt to boos after the second one tied it 79-79 with 10:04 remaining.
A minute-and-a-half later, Shane Battier the Heat their first lead in more than two full quarters, hitting his fourth 3-pointer to put Miami up 82-81 with 8:33 left.
Trailing by 14 at the half, Miami opened the third quarter with a 14-4 spurt to close the gap. Bosh, held to two points in the first half, scored eight during the stretch, and his free throw brought Miami within 63-59 with 6:52 left in the third.
The Knicks, though, answered with a 7-0 run to go up 70-59. But after Amare Stoudemire again gave the Knicks an 11-point lead at 76-65 with four straight points, including a crowd-pleasing slam off a sweet assist from Kidd, the Heat again whittled the lead down. Miami reeled off an 8-1 run to end the quarter trailing 77-73 after Battier hit his third 3-pointer with one second left in the period.
The Knicks took a 59-45 halftime lead as Kidd helped them shake off a 1-of-8 performance on 3-pointers in the first quarter with a blistering performance in the second. Kidd, coming off the bench for the second straight game with James White starting to defend James, hit four 3s in the second quarter to key a Knicks surge.
The 39-year-old Kidd had struggled for an extended period recently and had not hit a 3-pointer in his past three games but helped spark New York.
Anthony led New York with 24 before the break, and James was limited to 10 points. Including a couple of gasp-inducing alley-oops from Wade.
NOTES: James told ESPN before the game he didn't "have a response yet" to Magic Johnson's offer of $1 million to the dunk contest winner James will participate in his first slam dunk contest next year. Johnson had made the offer via ESPN on Friday, saying about James, "I go every year. I want to see you out there." James, who has been putting on dunk exhibitions in pregame warm-ups in Miami, told ESPN's Lisa Walters, "Tell him I'll get back to him." ... Knicks center Marcus Camby, who hasn't played since Jan. 10 because of a foot injury, dressed for the Knicks but did not play Sunday. ... The Knicks planned to sign forward Kenyon Martin to a second 10-day contract, coach Mike Woodson said in his pregame press conference. ... Miami forward Juwan Howard, signed to a 10-day contract Saturday, was with the team but did not play.