The Buffalo Bills finally had the all-around performance they had been waiting for in Week 13, dominating the Jacksonville Jaguars in all three phases of the game.

Unfortunately for them, it may have come a few weeks too late.

The Bills kept their slim playoff hopes alive with one of their finest efforts of the season against the lowly Jaguars (2-10), coming away with a 34-18 win Sunday at Ralph Wilson Stadium. Buffalo improved to 5-7 with the victory.

“We’re not in an ideal situation, but we lose today’s game we know we’re out,” QB Ryan Fitzpatrick said. “We continue to win like we did today, and we have some home games coming up ... we continue to win these games, we’re going to have a chance.”

Buffalo received equal contributions on offense, defense and special teams.

Speedsters T.J. Graham and C.J. Spiller turned on the burners for big plays on offense. Graham’s 51-yard reception set up Buffalo’s first touchdown, and Spiller’s 44-yard score iced the game in the fourth quarter. Spiller and Fred Jackson combined for 232 yards rushing. DE Mario Williams continued his recent surge with a momentum-changing sack/forced fumble near the end of the first half, and the Bills held the Jaguars to 50 yards on the ground. On special teams, the Bills had two big kick returns -- one from Marcus Easley, the other from Brad Smith -- to set up scores.

“All three phases contributed to the win,” DT Kyle Williams said. “We’ve had things in the past where the offense pulled us out, or [the defense] has played good and been a bigger part of the win, and today I think it was all three phases that kicked in and we were able to win a football game that we needed to win.”

The Jaguars, meanwhile, were unable to build off their recent stretch of improved play over the last two weeks. QB Chad Henne (18 of 41 for 208 yards, 1 TD and 1 INT) was inconsistent in the pocket, and he wasn’t helped by Jacksonville’s struggles in the running game. Jaguars RB Rashad Jennings left the game early in the second quarter with a head injury, forcing third-stringer Montell Owens (29 yards on 7 carries) into action.

“I don’t think we played well enough,” Jaguars coach Mike Mularkey said. “I don’t think we gave ourselves a chance to make it a game. We just didn’t play well.”

When the game turned: Mario Williams’ sack/forced fumble late in the second quarter. Williams has been on a tear ever since undergoing wrist surgery in Week 8 and turned the game in Buffalo’s favor when he stripped Henne of the ball with under two minutes in the second quarter. The Bills settled for a field goal but took a 17-10 lead into halftime. A touchdown on Buffalo’s first drive of the second half turned the game in Buffalo’s favor for good.

Highlight moments: Graham, who started in place of the injured Donald Jones, gave the Bills a boost early with a 51-yard reception. Marcus Easley, filling in for the injured Leodis McKelvin on kickoffs, took a return back 55 yards down the right sideline late in the second quarter. That turned into a 70-yard gain following a 15-yard late hit penalty. Spiller iced things with a 44-yard TD run early in the fourth quarter.

Top-shelf performances:

  • Bills RB Fred Jackson -- 25 rushes, 109 yards

     
  • Jaguars WR Cecil Shorts -- 7 receptions, 77 yards, 1 TD

     
  • Bills DE Mario Williams -- one sack/forced fumble

What they said about Buffalo’s running game:

  • Bills RG Kraig Urbik -- “With the weather coming in, we knew we would have to run the ball effectively. They did some things early on in the running game to stop us, but we stuck with it.”

     
  • Bills RB Fred Jackson -- “We feel like our best players are in the running back room. That’s how we want to approach the game -- go out there and get started early, and we feel like if we do that it gives us a good opportunity to win.”

Numbers you should know: The Bills had 182 more rushing yards than the Jaguars. Jacksonville converted only one third-down conversion in 10 attempts.

Injury update: The injuries piled up for both teams on Sunday. Bills -- CB/KR Leodis McKelvin left the game early with a back injury. RT Chris Hairston left in the third quarter due to an ankle injury. WR Stevie Johnson left late with a left hamstring injury, but Johnson said after the game that the injury is not serious. C Eric Wood left with a left knee injury. Jaguars -- Jennings left the game in the second quarter with a head injury and did not return. With Maurice Jones-Drew already injured, Jennings was replaced by third-string RB Montell Owens. CB Aaron Ross suffered a leg injury. WR Cecil Shorts suffered a scary head injury in the fourth quarter and did not return.

Going forward: Bills -- The Bills remain a long shot for the playoffs at 5-7, but they kept their slim hopes alive with a victory. It’s possible that the Bills could go on a small run over their final month with winnable games against St. Louis, Seattle, Miami and the New York Jets. But they need to string two wins together before they can even think about that. Jaguars -- Jacksonville’s season has been over for some time, but the final four games will go a long way in deciding if Henne has a future with the Jaguars. Henne was average at best against the Bills, which has to be discouraging for Jaguars fans.

For more updates on the Bills, follow correspondent Mark Ludwiczak on Twitter @CBSBills and @MarkLud12.

For more Jaguars information, follow Daniel Lewis @CBSJags