ORCHARD PARK, N.Y. -- Clutching the game ball tightly in his hands, EJ Manuel was making his way up the tunnel in the euphoria of a last-second victory when the Buffalo Bills rookie quarterback was stopped in his tracks.

Hall of Fame QB Jim Kelly jumped from out of nowhere to greet Manuel with a big bear hug and two brief words: "Good job."

On the day the Bills honored Kelly and other past stars during a halftime ceremony, Manuel provided a promising glimpse into the franchise's future. The first-round draft pick out of Florida State threw a 2-yard touchdown pass to Stevie Johnson with 2 seconds left to clinch a 24-23 win over the stunned Carolina Panthers on Sunday.

"I can't even tell you how it felt," Manuel said of the touchdown pass. "I think I started crying right then. I'm not usually an emotional guy. But I'm going to enjoy these type of things."

Manuel was 29 of 37 for 296 yards and bounced back after throwing an interception and losing a fumble on consecutive possessions, with the turnovers leading to field goals by Graham Gano. He became the fifth NFL rookie since 1960 to engineer a fourth-quarter comeback in his first or second game.

"I'm not surprised. EJ doesn't seem like a rookie," said Johnson, who finished with 111 yards receiving. "He earned a lot of our respect."

Bills defensive end Mario Williams set a team record with 4 1/2 sacks. Fred Jackson scored on a 4-yard run.

The Bills (1-1) bounced back from the disappointment of squandering a lead in the final seconds of a season-opening 23-21 loss to New England.

It was a bittersweet first victory for rookie coach Doug Marrone, who took over after Chan Gailey was fired. Marrone was in tears after the game when he revealed he was mourning the loss of a good friend, Rob Edson, the Onondaga Community College athletic director, who died suddenly Saturday.

"I know that Rob was watching, and I can't stop thinking about that," Marrone said. "When that game was coming down to the end, my prayers just go out to him and his family."

The Panthers are still struggling to win close games. They were coming off a 12-7 loss to Seattle and dropped to 2-14 in games decided by 7 points or less in two-plus seasons under coach Ron Rivera.

"Roller coaster. That's about as bad as it gets," Rivera said. "You had an opportunity to win the game, an opportunity to close it out, and you didn't. ... We had a chance to make a play and we didn't. That's the thing that's hard to swallow: We just have to make one play."

Cam Newton went 21 of 38 for 229 yards and two touchdowns, a 13-yarder to Greg Olsen and a 40-yarder to Ted Ginn Jr.

"This isn't about learning hard lessons," said Steve Smith, who had 52 yards receiving. "This is like going to the dentist and getting several teeth pulled without any anesthesia, laughing gas, nothing."

The Panthers' defense couldn't contain Manuel and the Bills' hurry-up offense and allowed Buffalo to score on four of six second-half possessions.

It didn't help that linebacker Luke Kuechly helped keep the Bills' decisive drive alive. With Buffalo facing third-and-6 at Carolina's 29, Kuechly was penalized for pass interference on Johnson with 14 seconds left. The Bills scored two plays later.

And on offense, Carolina settled for field goals on its three final possessions. The first two came when the Panthers were stopped on third down inside the Bills 10.

The last one came after Cam Newton led a 12-play, 39-yard drive that ate up more than 5 1/2 minutes, capped by Gano's 39-yard field goal with 1:38 left.

Manuel was unfazed as the Bills took over at their own 20 with 1:38 remaining and no timeouts. Willing to throw over the middle, he was efficient in twice getting the Bills lined up when his receiver was unable to get out of bounds.

"He was focused. He was locked in," Johnson said of Manuel. "He was in there like a No. 1 quarterback."

Game notes

The Bills' previous single-game record was four sacks, shared by Bruce Smith, who did it twice, and Cornelius Bennett. ... Carolina allowed 149 yards rushing after previously giving up no more than 70 in its previous five games. ... The Panthers lost S Charles Godfrey (right Achilles tendon) and CB Josh Thomas (concussion). ... Dan Carpenter hit a 55-yard field goal for the Bills.