NASHVILLE, Tenn. -- Chris Johnson's usual gloves got wet and slick, so he tried on a pair of leather gloves. Those proved too slippery as well, so he finally went without anything on his hands on a cold rainy day.
With the way the Tennessee Titans blocked and how he ran, Johnson finally looked like the man who led the NFL in rushing the previous three seasons.
Johnson said he knows it's only one game and likely won't quiet his critics.
"Basically we just executed our plays," said Johnson, who did lose one fumble. "I feel like everybody did the right thing. I read my blocks well, they blocked well. ... I feel like everybody executed."
It was the third-highest rushing game of Johnson's career and highest since Nov. 1, 2008.
"Any running game questions?" Titans coach Mike Munchak said to open his postgame news conference.
The Titans (6-5) forced five turnovers and overcame four turnovers of their own. The Bucs outscored them 14-3 off mistakes even though Tennessee got the ball three times on Tampa Bay's side of the field.
The Bucs (4-7) lost their fifth straight even with LeGarrette Blount running for 103 yards, though he also had two fumbles.
"No excuses and no explanations," Bucs coach Raheem Morris said. "We've got to stop the run better at the end and we can't turn the football over. The weather and none of that stuff is an excuse."
Freeman threw for 199 yards and a touchdown, but he had an interception and lost a fumble. He also fumbled the snap on fourth-and-1 before being tackled with 40 seconds left to seal the Titans' victory. Morris wasn't happy that officials didn't measure to see if Freeman got the first down.
"You shouldn't have to ask. It is what it is," Morris said. "When you do ask, they tell you they don't have to give it to you. They just give it to you automatically (in) third downs and critical situations."
Tommie Campbell took a reverse from Marc Mariani and ran 84 yards for a kickoff return, Dave Ball had two sacks, and Rob Bironas kicked field goals of 31, 52 and 38 yards as the Titans keep chasing the Houston Texans (8-3) in the AFC South and hanging around the playoff picture.
Johnson ran for 44 yards, including a season-long 34-yarder, as Tennessee drove 80 yards to go ahead. But the Titans had to go for it on fourth down, and Hasselbeck rolled right before finding Williams at the back of the end zone for a 20-17 lead. He finished 19 of 34 for 160 yards and two interceptions.
Hasselbeck credited Williams for staying alive at the back of the end line.
"We knew that this was a do-or-die situation, a critical situation," Hasselbeck said. "Someone needed to come up and make a play, make a clutch play. We needed this to win the game, and Damian came through and did a great job."
Tampa Bay had been giving up 133.5 yards rushing per game. Johnson shredded the Bucs at times after being booed heavily most of this season after signing a $53.5 million extension.
"I just knew if we were able to execute ourselves we could have a pretty good day," Johnson said.
On a rainy day with a cold front dropping the temperature more than 15 degrees, both teams had a hard time holding onto the ball.
The Bucs tied it up at 10-all just before halftime off Tennessee's second turnover. Javon Ringer fumbled after a short pass from Hasselbeck with the ball popping straight to Bucs safety Tanard Jackson, and he took it 13 yards to the Tennessee 13. Freeman needed only 46 seconds before tossing a 3-yard pass to Mike Williams to tie it up.
It only got worse in the third quarter when the teams had four turnovers combined.
Johnson opened the half running well only to be stripped on his third carry after 13 yards by Aqib Talib. The Bucs had the ball all of three plays before Titans safety Jordan Babineaux stripped it from Williams after a catch. Talib picked off Hasselbeck and ran it back 27 yards for the TD and a 17-10 lead with 12:04 left in the third.
Blount had his second fumble after a short pass from Freeman when Titans rookie tackle Jurrell Casey stripped him of the ball and recovered at the Bucs 29. The Titans got nothing from the turnover. Adrian Clayborn sacked Hasselbeck, and the Titans went three-and-out.
"There's nothing anybody could do besides hold on to the ball tight," Blount said of the slippery conditions.
Johnson has 27 career 100-yard rushing games and six for more than 150 yards. ... Munchak said Campbell will have an MRI, but they think he sprained his left shoulder. ... Bucs DT Brian Price was carted off in the second quarter with an ankle injury and walked out of the stadium on crutches. ... Campbell and Mariani combined for a 100-yard return that was the fourth-longest in team history.