CHARLOTTE, N.C. -- Star running backs Chris Johnson and DeAngelo Williams couldn't find any holes. Vince Young and Matt Moore weren't much better through the air.
Optimists can point to the ferocious defense Carolina and Tennessee played Saturday night, but the offensive ineptitude was cause for concern after the Panthers slogged to a 15-7 victory over the Titans.
Carolina's overhauled defense hardly looked like it missed Julius Peppers, sacking Young four times, keeping Johnson in check and holding Tennessee to 50 yards in the first half.
But the Titans stymied Moore and Williams, with Carolina's first-team offense still looking for its first touchdown of the preseason despite playing into the fourth quarter against Tennessee's second- and third-stringers.
Johnson, the NFL's Offensive Player of the Year in 2009, managed just 10 yards on eight carries with little room to roam in his most extensive work of the preseason. He has 39 yards on 19 carries in three games after rushing for 2,006 yards last season.
Young, playing the entire first half, completed just 6 of 9 passes for 48 yards under constant pressure. Charles Johnson, who took over the five-time Pro Bowl defensive end Peppers when he signed with Chicago in the offseason, had his way with right tackle David Stewart and had two of Carolina's seven sacks on the night.
The Panthers, who held the Jets to 112 yards a week earlier, looked speedy in the secondary and the line swarmed the ball despite starting with four different linemen than ended last season. The Panthers have used 18 in three games.
The offense, though, still needs work as Carolina again played without star receiver Steve Smith (broken arm) and running back Jonathan Stewart (heel).
Moore, given the starting job when Jake Delhomme was released in the offseason, had his third straight uninspiring performance. He completed 18 of 33 passes for 190 yards and no interceptions as the Panthers' first-team offense has managed five field goals in 39 preseason possessions.
Williams rushed for just 13 yards on nine carries, and there is still no clear No. 2 receiver opposite Smith.
The game didn't open up until Carolina's starting offense left early in the fourth quarter.
The Titans took the lead on former Panthers quarterback Kerry Collins' 35-yard touchdown pass to tight end Jared Cook. Mike Goodson then brought back the ensuing kickoff 91 yards for a touchdown for Carolina. Josh Vaughan's 2-point conversion run failed.
Cornerback Brian Witherspoon picked off Collins on the next possession, leading to John Kasay's third field. Witherspoon, fighting for a roster spot, later intercepted rookie Rusty Smith, who played ahead of Chris Simms.
Carolina rookie backup Jimmy Clausen threw a 50-yard pass to tight end Gary Barnidge on the next possession, but Kasay hooked a 25-yard field goal attempt.
While Moore's protection was better than the first two games, he had trouble finding receivers, his accuracy was suspect and there were drops.
Five of Carolina's first six drives ended in three-and-outs. Carolina finally moved the ball late in the first half with an odd group of Wallace Wright, Trent Guy and David Gettis at receiver. But Wright fumbled after a catch and it was recovered by Tennessee's Stephen Tulloch at the 14 to end the only first-half scoring threat for either side.
To make matters worse, Wright injured his right shoulder on the play and didn't return.
With Johnson getting stuffed, Young had little room to maneuver, either. Johnson, who lost weight and appeared to gain speed in the offseason, blew by Stewart on a spin move for his first sack.
Tennessee pulled its starters at halftime, while Carolina's starting offense didn't leave until early in the fourth quarter.
The Panthers had another adventurous night trying to field punts. After rookie Armanti Edwards and Kenny Moore fumbled against the Jets, Carolina had Guy back there to start the game.
But Guy badly misjudged two punts before letting them fall. A good portion of the crowd stood with a mock standing ovation when Guy made a successful fair catch in the second quarter.
Goodson may have won the kickoff return job with his TD.