ORCHARD PARK, N.Y. -- Chris Johnson has found his stride just in time to provide the Tennessee Titans' playoff hopes some real legs.
In another sign he's emerging from a two-month slumber, Johnson rushed for 153 yards and two touchdowns to lead the Titans to a 23-17 win over the slumping Buffalo Bills on Sunday. Held to under 100 yards seven times in his first eight games, Johnson now has topped the century mark three times in his last four outings.
The Titans (7-5) have won two straight and moved into a tie with four other teams in contention for the AFC's final wild card berth.
It's a group of contenders that no longer includes the Bills (5-7), who have lost five straight, a spiral that has them suddenly battling Miami (4-8) for last place in the AFC East.
The Titans host New Orleans next weekend.
"In the beginning of the season, the passing game carried us, and now it's time for the running game to step it up," Johnson said. "The offensive line and everything is hitting on all cylinders right now, and hopefully we can continue to keep this momentum going."
Johnson put the Titans ahead for good with an electrifying 48-yard scamper off right tackle in the first quarter.
He then capped the next possession with a 4-yard run up the middle to put the Titans ahead 17-7. He had 90 yards by that point, which is more than he'd had in all but three games this season.
Coming off a 190-yard performance in a 23-17 win over Tampa Bay last week, Johnson's two scores matched his season total, and he now has 486 of his 852 yards rushing in his past four games.
"Yeah, that's the CJ I know," safety Alterraun Verner said.
Kicker Rob Bironas hit three field goals, including a 44-yarder midway through the fourth quarter to give the Titans a 23-10 lead. The Titans defense forced two fumbles -- both recovered by rookie linebacker Colin McCarthy -- which led directly to 10 points.
The Bills no longer look anything like the upstart team that got off to a 5-2 start this season and instead more resemble the bumbling squad that opened 0-8 last year.
"Extremely shocked and disappointed: All those words," quarterback Ryan Fitzpatrick said. "The way we've played lately hasn't been good enough."
C.J. Spiller had a career-best 83 yards rushing and scored on a 35-yard touchdown run in his second start since Fred Jackson broke a bone in his leg. Receiver Stevie Johnson toned down his touchdown celebration after scoring on a 2-yard catch with 2:58 left to make the game close.
Johnson had been criticized for much of the past week over his celebration in a 28-24 loss to the New York Jets. Johnson was fined $10,000 by the NFL for mocking Jets receiver Plaxico Burress, pretending to shoot himself in the thigh. He was also flagged 15 yards for going to the ground in pretending to be a crashing plane.
"Last week was last week," said Johnson, who had five catches for 52 yards. "We moved on to the Titans and we tried to get this W and we came up short."
The Bills ran out of time to manufacture a comeback. Getting the ball back at their own 15-yard line with 62 seconds left, their final drive ended with Fitzpatrick throwing three straight incompletions from his 46.
The back-and-forth first half featured some exhilarating and bizarre plays.
Spiller gave the Bills a 7-3 lead midway through the first quarter when he beat the Titans to the left corner and cut it up the sideline. He was chased down from behind by Michael Griffin, who punched the ball loose inside the 10-yard line. The ball ricocheted off Spiller's left knee and was bouncing out of the end zone when the running back made a diving attempt to secure it before sliding out.
Officials initially ruled it a touchback, before reversing the call to a touchdown after replays showed Spiller had control of the ball while inbounds.
The rest of the day, it was Tennessee in control.
"A lot of these guys are growing confidence that wasn't there from the beginning," receiver Nate Washington said. "We are starting to realize we have a good chance at being a great football team here -- not just good, but great."