NEW YORK -- The roar at the beginning was for Carmelo Anthony. The booming chants at the end were for Amare Stoudemire.

Maybe the New York Knicks already have the only superstar they need.

"Sky's the limit," Stoudemire said. "It's just a matter of us continuing to improve."

Stoudemire scored 24 of his 30 points in the second half, Wilson Chandler made the tiebreaking 3-pointer with 30 seconds left, and the Knicks beat the Denver Nuggets 129-125 on Sunday for their first eight-game winning streak in 16 years.

Perhaps catching a break not to have been called for a second technical foul and ejected in the second quarter, Stoudemire set a franchise record with his eighth straight 30-point game. The more important streak for the Knicks is the winning one.

Winning for the 13th time in 14 games, the Knicks have won eight straight for the first time since Dec. 27, 1994-Jan. 13, 1995. At 16-9, they are off to their best start after 25 games since they were 18-7 in 1996-97.

Next up: showdowns with Boston on Wednesday and Miami on Friday as the Knicks try to show they can compete with the NBA's elite.

The Knicks seemed to be going nowhere when a 120-118 loss in Denver on Nov. 16 dropped them to 3-8. But they have lost just once since thanks mostly to Stoudemire, awarded with "MVP! MVP!" chants against in the final minute.

"When we played them in Denver the first time, they look like a totally different team right now," Anthony said. "They've got a lot of rhythm going out there, seemed like everybody's on the same page, everybody's doing their part out there and they're rolling right now."

With most of the crowd at Madison Square Garden standing and chanting for the final minutes, Raymond Felton made four free throws in the final 15.6 seconds.

Chandler scored 27 points, and Felton had 19 points and a season-high 17 assists. Rookie Landry Fields scored 18 points and Danilo Gallinari had 16 for the Knicks.

Anthony had 31 points and 13 rebounds in his return to the lineup after missing two games with an inflamed right knee. Nene added 26 points but the Nuggets finished 1/3 on their road trip, with the only victory coming in George Karl's 1,000th coaching win Friday at Toronto.

Knicks coach Mike D'Antoni said the game was significant because it was the Knicks' toughest opponent since they started playing well, and it drew extra attention because of Anthony, who reportedly wants to play in New York.

Right now, the Knicks don't need him.

Anthony hasn't signed the three-year contract extension Denver offered him over the summer and there have been reports he wants to sign with the Knicks next summer as a free agent. He repeated Saturday that he hasn't made up his mind about his future.

The New York native received a loud ovation when the starting lineups were announced, but the crowd quickly swung back to the Knicks' side.

Held to six points on 2-of-8 shooting in a frustrating first half, Stoudemire scored 14 in the third quarter, when his jumper began falling to go with his attacks to the basket. The Knicks led 97-89 headed to the fourth, but he picked up his fifth foul with 10:40 remaining in the game and headed to the bench.

The Nuggets took advantage, rallied to take a 111-110 lead with 6:06 to go on Ty Lawson's free throws as Stoudemire was re-entering. He scored on the Knicks' next three possessions, and later snapped a 120-all tie and hit the 30-point mark again with a baseline jumper with a minute to play.

"Everything he didn't make in the first half, he balled in the second. I tried to defend him, he made tough shots on us and that is his talents," Nene said. "He's balling this season, nobody's stopping him. I just tried to defend him."

Anthony tied it with a dunk, but Chandler answered with his 3-pointer for a 125-122 and Felton's free throws kept it from getting closer.

D'Antoni said the victory showed him "a lot."

"Being able to throw punches and get it. Being able to go down after being up the whole game. Having Amare in foul trouble and finding a way. You have to be able to find a win to win until you get everything straight," he said. "That is what these guys have been doing for a while."

Karl was concerned about the early start, and sure enough his team was quickly behind by double digits. Chandler scored 12 points in the first quarter and Fields added 11 on 4-of-4 shooting as New York led 35-24.

The Knicks lost the lead -- and were lucky not to lose Stoudemire along with it after he shoved Nene after fouling him. Injured Nuggets forward Kenyon Martin was yelling at the referees from the bench about the lack of a technical.

"I guess you can call that physical play," Anthony said. "Just a hard foul."

Felton made a tiebreaking 3-pointer with 32 seconds left, and the Knicks led 66-65 at halftime.

Game notes

Stoudemire came in leading the NBA with 8.0 points per game in the fourth quarter. He had 10 Sunday. ... The previous Knicks' record of seven straight 30-point games was set by Willie Naulls in 1962.