JACKSONVILLE, Fla. -- EJ Manuel followed the worst game of his career with the best.
Call it progress, maturity or resiliency. The Buffalo Bills hope it's a little of each.
The rookie threw two touchdown passes and ran for another score, leading the Bills to a 27-20 victory against the banged-up Jacksonville Jaguars on Sunday.
Manuel bounced back from a four-interception performance at Tampa Bay last week and left his college state with his first win in five road starts.
The former Florida State star didn't do anything spectacular, just dinking and dunking the Jaguars for 193 yards. He also ran for 37 yards, including an 8-yard touchdown in the second quarter. Still, it was his first three-TD game at this level.
"I think that's a part of the maturation as an offense, especially us young guys and the skilled positions," Manuel said.
The Bills (5-9) turned the game twice, once at the end of the first half and again in the fourth quarter.
Buffalo scored 10 points in the final 2:14 before halftime, taking a 20-10 lead into the locker room. The Jaguars (4-10) rallied to tie it in the fourth, evening the score on Chad Henne's 13-yard TD pass to Marcedes Lewis.
Manuel answered, though, capping an 89-yard drive with a 1-yard TD pass to fullback Frank Summers. With it, Manuel set the franchise's rookie record for touchdown passes with 11.
"He learns from snap to snap," Bills coach Doug Marrone said. "You're seeing a quarterback that's involved in a process that's getting better and better. We've seen times when he's played very, very well."
The Jaguars were in position to tie things up late, but a series of miscues proved costly. On first-and-goal from the 1, they lost 4 yards on Jordan Todman's run wide. Henne followed with two horrible throws, one receiver Mike Brown batted down to prevent an interception and another one Stephon Gilmore picked off in the end zone with 3:15 remaining.
Henne said he threw the pass to Brown because he was being held and expected a flag.
It never came.
"You've got to throw it or they're not going to see who the receiver is," Henne said. "If you don't throw it, they don't call it. My job is to throw it where he's supposed to be and obviously they didn't see it."
Still, the Jaguars had one final shot, getting the ball back with 1:46 remaining, but failed to pick up a first down.
Henne was sacked for the fifth time on the final drive, giving Buffalo an NFL-leading 49. That also tied the franchise record set in 1995.
"We've been in these types of games throughout the year and have come up on the short side of it," Marrone said. "I give the players credit for hanging in there today because we came up on the side we want to be on."
The Bills had lost five of their last six, including three in a row on the road.
Jacksonville, meanwhile, had its three-game winning streak come to an end.
"It was a game of missed opportunities," Jags coach Gus Bradley said. "We didn't play like we're capable of playing, whether it was a fumble, interception, things like that. In the locker room, our hearts are broken right now because of this, but I felt like our spirit is not."
Few outsiders gave Bradley's team a chance because of the injuries. Things got worse when backup guard Michael Brewster broke his left ankle in the first half.
Along with Henne's late interception, the play Jacksonville will point to is Denard Robinson's fumble near the goal line early in the third. Aaron Williams knocked the ball loose for the Bills, and it rolled through the end zone for a touchback.
"Definitely a bad taste in your mouth after the performance out there as a team today," Jaguars left tackle Cameron Bradfield said.
"This game just shows how good EJ can be," Jackson said. "He had a rough game last week. It was something he put on himself that he has to play better. He came out and did that. "
Both teams were officially eliminated from playoff contention with Miami's win. ... Bills DT Marcell Dareus (ankle) and SS Williams (ribs) left the game. Marrone had no update on either starter. ... Jaguars LB Geno Hayes left the game twice with injuries, but returned both times.
Le'Veon Bell scored on a 1-yard wildcat run as time expired to give Mike Vick and the Pittsburgh Steelers a stunning 24-20 victory over the San Diego Chargers on Monday night.
The NFL would have had another wild controversy on its hands, had Le'Veon Bell not scored on the final play from scrimmage to give Pittsburgh a win Monday at San Diego.
An MRI has confirmed what the Kansas City Chiefs feared during Sunday's game: Running back Jamaal Charles has torn the ACL in his right knee and will miss the remainder of the season.
Chargers tight end Antonio Gates became the ninth player in NFL history to catch 100 touchdowns with a 12-yard reception in the first quarter of Monday's 24-20 loss to the Steelers.
Former USC coach Pete Carroll said Monday that he's saddened by Steve Sarkisian's situation and he has reached out to his former assistant.
Twitter accounts for the websites Deadspin and SB Nation were suspended by the social media platform Monday night, after the NFL filed notices related to use of copyrighted video highlights.