CINCINNATI (AP) -- The kings of comebacks couldn't hold a late lead against a rookie quarterback struggling through one of his worst days.
The rookie quarterback ran 3 yards for a tying touchdown, then led the Cincinnati Bengals in range for Mike Nugent 's winning field goal in the closing seconds of a 23-20 victory on Sunday that stunned the AFC's last unbeaten team.
Now, the Bills (3-1) know what it's like to blow a big lead.
"It's the worst way to lose it," said running back Fred Jackson , who had a 2-yard touchdown run. "We had an opportunity to put away the game, but we didn't make the plays when we had to."
Instead, Dalton made the decisive plays at the end of a miserable day in front of one of Cincinnati's smallest crowds.
Only 41,142 fans showed up on a sunny afternoon, the smallest crowd for a regular-season game in Paul Brown Stadium's 12-year history. The Bengals hadn't played in front of such a small group since they drew only 34,568 to Riverfront Stadium for the last game of the 1995 season.
Many of them had already left when Dalton pulled off Cincinnati's biggest comeback since 2004.
"He's a young quarterback," rookie receiver A.J. Green said. "It's all about how you finish. The great ones finish, and he's going to be a great one."
The second-round pick from TCU was awful in the first half. He was repeatedly high and wide with his throws while going only 7 of 20 for 116 yards with two interceptions. Safety Bryan Scott returned an interception 43 yards for a touchdown, helping Buffalo pull ahead 17-3 at halftime.
"Even when we came in at halftime, we were like, 'Guys, don't let up. We have to come out in the second half still swinging,"' Scott said. "We know what it feels like to be on the other side of things."
Soon, they did again.
Dalton threw a 17-yard touchdown pass to Jermaine Gresham . His 3-yard run on a draw play tied it at 20 with 4:09 left. After the Bills punted, he used every bit of his 6-foot-2 frame to set up the winning kick.
On third-and-3 from the Cincinnati 43, Dalton ran away from the rush and dived out of bounds while being hit, 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 Nugent's 43-yard kick as time ran out.
"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."
Dalton finished 18 of 36 for 298 yards with his first NFL fourth-quarter comeback.
"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."
Notes: Buffalo's Chad Rinehart started at right guard in place of Kraig Urbik , out with a knee injury. Drayton Florence replaced CB Terrence McGee , out with a hamstring injury. ... OT Demetrius Bell left with a shoulder injury in the fourth quarter. ... QB Ryan 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. ... It was Cincinnati's biggest comeback since Carson Palmer led them from a 17-point deficit to a 27-26 win in Baltimore in 2004. ... Green had catches of 58 and 40 yards, the first Bengals WR with two catches of 40 or more yards since Eddie Brown in 1988.