CHARLOTTE, N.C. -- After more than three hours of dreadful offensive football, New York Jets coach Rex Ryan sought out Carolina's John Fox at midfield, happy the final gun had sounded to signal the end of a night of punts and turnovers.
"I told John Fox it looked like a pillow fight out there with both offenses struggling like that, to say the least," Ryan said. "You're going to have days like that."
Sanchez was lucky to avoid two interceptions and failed to get the Jets in the end zone despite great field position. Moore couldn't lead Carolina to any points on a night of bad passes, drops and penalties.
"Our offense got it handed to us by a pretty good defense," Ryan said. "I know we can play better than that. The execution wasn't very good. Clearly you're not going to win very many games that way, but we won this one."
Sanchez completed five of 10 passes for 12 yards, a setback after he recovered from an interception on his first pass Monday against the Giants and looked sharp. LaDainian Tomlinson's 20-yard draw play was the Jets' top offensive play.
The Panthers couldn't even come close to matching that -- which is why they lost despite allowing only 112 yards.
"I look at the glass half full. I thought our defense was outstanding," Fox said. "If we continue that, it'll give us a chance. We've just got to get better at the other end."
Moore, given the starting job when seven-year starter Jake Delhomme was released in the offseason, failed to lead a scoring drive for the second straight preseason game. He completed just six of 17 passes for 57 yards and an interception.
Rookie Jimmy Clausen wasn't much better -- 9 of 22 for 72 yards and a pick -- and neither got much help. Carolina played without star receiver Steve Smith (broken arm) and the unheralded stable of receivers behind him did nothing to quell concerns Smith will be the Panthers' only option.
"We're a good run team and everybody knows that everybody lines up to stop that," Panthers left tackle Jordan Gross said. "So we've got to throw the ball or it's going to be a long year."
Special teams gaffes twice gave the Jets great field position, but they still managed just a 6-0 halftime lead. The Jets started a drive at the Carolina 35, but the first of Everette Brown's two sacks led to Nick Folk's 43-yard field goal.
The Jets started another drive at the Carolina 12, but running back Shonn Greene lost seven yards on the first play and Folk booted a 36-yarder.
"We looked sloppy today," Sanchez said.
But not as sloppy as Carolina.
Moore badly overthrew rookie Brandon LaFell on a deep pass on Carolina's opening possession and safety Jim Leonhard swooped in for the interception. Leonhard came in unblocked and sacked Moore the second time the Panthers had the ball.
Playing their second game in six days, Ryan played the Jets' starters a little over a quarter. Even that didn't help Carolina's sluggish offense.
The Panthers' starting unit failed to pick up a first down in four series against New York's second team in the second quarter, finishing with 45 yards on 33 plays in the first half.
It was such a sloppy game that one of the biggest cheers in the first half was a sarcastic one, after Captain Munnerlyn cleanly caught a punt for Carolina. He had bobbled one earlier, but he looked better than rookie Armanti Edwards. He fumbled away one and failed to run up and make a fair catch on another that bounced off Jordan Pugh and was recovered by the Jets.
Kenny Moore later fumbled away a punt return, too, in a dismal performance by Carolina's special teams.
Tomlinson's shifty 20-yard run was the longest play from scrimmage in the first half for the Jets. Tomlinson had 26 yards on three carries, another strong sign for New York's offseason pickup. But rookie Joe McKnight lost a fumble, leading to John Kasay's third-quarter field goal for Carolina.
The Jets' reserves, coming off a poor performance against the Giants, did little against Carolina. Chauncey Washington lost a fumble near the goal line after McKnight's 67-yard punt return.
Ryan said reserve DE Ropati Pitoitua tore his Achilles' tendon and is likely out for the season. ... Panthers RB DeAngelo Williams had 26 yards on six carries. RB Jonathan Stewart (heel) didn't dress. ... Jets G Matt Slauson saw extended time with the backups as he battles rookie Vladimir Ducasse for a starting job.