NASHVILLE, Tenn. - Chris Johnson and the Titans had their best rushing day all season, and Tennessee found a way to win on a cold and wet day where the ball proved way too slippery.
Neither was very pretty at times.
The Titans aren't complaining, not after a 23-17 victory Sunday over Tampa Bay that keeps them hanging around the playoff chase.
"We need to win games,'' Titans left tackle Michael Roos said.
On a wet, cold day when Tennessee turned it over four times and forced the Bucs into five themselves, the game was much closer than the Titans wanted because Tampa Bay outscored them 14-3 off the turnovers. Titans rookie linebacker Colin McCarthy got the final turnover, intercepting a Josh Freeman pass with 2:19 left.
Johnson ran 23 times for 190 yards, and Matt Hasselbeck converted a fourth-and-goal when he found Damian Williams at the back of the end zone for a 2-yard touchdown with 3:01 left.
"I just tried to buy time,'' Hasselbeck said. "That's kind of that Joe Montana, Dwight Clark play right there.''
Williams was working along the back line and waving his arms frantically beneath the goal post trying to get Hasselbeck's attention before catching the pass. Officials reviewed the play to make sure he tapped his feet inbounds.
"When I saw the replay, it did kind of scare me, but in the game, I knew that I was open,'' Williams said. "I was fortunate that it worked out.''
The win keeps the Titans two games behind Houston (8-3) in the AFC South with five games to play and a game out of the last wild-card spot.
"We have to learn how to capitalize on the opportunities we get early in the game, so it won't be such a barn burner at the end,'' Titans safety Chris Hope said. "We still have a lot of unfinished business to take care, and we'll take `em one game at a time. And the more we win, the more we get a chance to continue to control our destiny.''
The Buccaneers (4-7) just wish officials had measured to check the distance before their final play of the game. Freeman thought they had picked up a first down and was preparing to spike the ball to stop the clock before officials told him it was fourth-and-inches.
Tampa Bay coach Raheem Morris asked for a measurement, which he didn't get.
"I don't know why we didn't get a measurement, but still can't be an excuse,'' Morris said. "None of that stuff. You have to go out there and execute the play that is called.''
Freeeman tried to sneak but dropped the ball. He recovered it but got only back to the line of scrimmage. Officials ruled it was Titans' ball.
"I am glad they didn't,'' Titans coach Mike Munchak said.
Tampa Bay now has lost five straight and six of seven after failing to hold a 17-10 lead after Aqib Talib picked off a Hasselbeck pass he returned 27 yards for a touchdown during a third quarter that featured four turnovers.
"We feel like we're a better team than our record portrays,'' Freeman said. "We have to stop doing the things that have been killing us all year long. We have to come together and finish this thing out.''
The Titans also came up with two sacks, and rookie Tommie Campbell ran 84 yards off a reverse on a kickoff return for a touchdown and Rob Bironas kicked field goals of 31, 52 and 38 yards. The key was Johnson coming off a season-low 13 yards rushing in last week's loss to Atlanta, a performance that had Munchak admitting the offensive linemen missed some blocks.
Johnson had 26 yards in the first half, and he had 44 yards on the 80-yard drive for the go-ahead TD against a Tampa Bay defense that had been giving up 133.5 yards rushing per game.
"I just knew if we were able to execute ourselves we could have a pretty good day,'' Johnson said.
NOTES: Johnson turned in the fourth-highest rushing total of the season. ... He ran for 228 yards on Nov. 1, 2009, against Jacksonville and had 197 yards in a loss to Houston on Sept. 20, 2009. ... Bironas missed a 42-yard field goal in the second quarter, snapping a string of 14 consecutive kicks. ... Campbell hurt his left shoulder blocking on punt coverage in the second quarter, and Munchak said he will have an MRI for what they suspect is a sprain. ... Bucs DT Brian Price was carted off late in the first half with an ankle injury. He was on crutches leaving the stadium.