CINCINNATI - The Bills' stretch of amazing comebacks ended when they couldn't stop a rookie quarterback from pulling off one of his own.
Andy Dalton shook off a horrid first half and led his first game-winning drive in the NFL on Sunday.
Mike Nugent's 43-yard field goal as time ran out gave the Cincinnati Bengals a 23-20 victory over the previously unbeaten Bills in front of the smallest crowd in Paul Brown Stadium's history.
"I think we needed it a lot, especially at home," Nugent said. "We've got to do a better job of putting fans in the stands."
Many of the 41,142 fans had left when Dalton ran 3 yards for a tying touchdown with 4:09 to go. He got Cincinnati (2-2) in position to pull it out by scrambling for a pivotal first down on the winning drive, helped by a replay overturn that went in his favour.
The youngster's strong finish ended Cincinnati's streak of 10 straight losses against Buffalo (3-1) since the 1988 AFC championship game. Sunday's 14-point comeback was Cincinnati's biggest since Carson Palmer's team overcame a 17-point deficit to beat Baltimore 27-26 in 2004.
"He's a young quarterback," said rookie receiver A.J. Green, who had four catches for 118 yards. "It's all about how you finish. The great ones finish, and he's going to be a great one."
The Bills arrived as the AFC's last perfect team after pulling off historic comebacks, rallying from deficits of 18 against Oakland and 21 points against New England in the past two games. No team in NFL history had such back-to-back comebacks.
This time, it came down to holding a lead. They couldn't do it.
"I don't know if it had anything to do with all the emotion from last week's game," quarterback Ryan Fitzpatrick said. "It had more to do with us flat-out not showing up in the second half."
Buffalo went up 17-3 during Dalton's poor first half. The second-round draft pick was only 7-of-20 for 116 yards with two sacks and an interception that safety Bryan Scott returned 43 yards for a touchdown. His passer rating was a minuscule 15.8 in the opening half.
The rough time didn't leave him down.
"I've been through a lot," Dalton said. "You can't get too high, you can't get too low. If you're too high, it can hurt you. If you're too low, it can hurt you. I try to stay even-keel."
The rookie finally got going with a 17-yard touchdown pass to Jermaine Gresham, the Bengals' first touchdown in seven quarters. He went three yards on the quarterback draw to tie it, then scrambled to set up the winning kick the next time Cincinnati got the ball.
On third-and-three from the Cincinnati 43, he scrambled away from the rush and dived out of bounds, stretching the ball as far ahead as he could.
It was marked a few inches short of the first down. After a review, the ball was moved about a foot forward, giving the Bengals a first down with 45 seconds left.
Brian Leonard caught a 15-yard pass and ran 14 yards to the Buffalo 25, setting up the winning kick. Nugent, coming off knee surgery last year, is perfect in 10 field goal chances.
Dalton finished 18-of-36 for 298 yards. Cedric Benson ran 19 times for 104 yards, taking some of the pressure off the quarterback.
Coming off an emotional win over New England, the Bills were flat on offence and never got moving. They'd scored at least 30 points in each of the first three games, but managed only Scott's touchdown return, Fred Jackson's two-yard run and a pair of field goals.
"It's the worst way to lose it," Jackson said. "We had an opportunity to put away the game, but we didn't make the plays when we had to."
Last year, the Bills came to Paul Brown Stadium and pulled off a comeback that got them going, rallying behind Fitzpatrick for a 49-31 win after trailing 31-14 at halftime.
Fitzpatrick couldn't make a big play in the second half on Sunday, finishing 20-of-34 for 199 yards.
Notes: Buffalo's Chad Rinehart started at right guard in place of Kraig Urbik, who had been listed as doubtful because of a knee injury. Drayton Florence replaced cornerback Terrence McGee, out with a hamstring injury. ... Fitzpatrick moved past 8,000 yards passing for his career. ... The Bills have returned interceptions for TDs in back-to-back game for the first time since 2009. ... WR Jerome Simpson was back in the Bengals starting lineup. He's been under investigation for a marijuana shipment to his house. He had three catches for 26 yards.