Updated

Joe Flacco guided Baltimore's retooled offense to a pair of scores, and the Ravens defense held Carolina without a touchdown in a 17-12 preseason victory Thursday night.

Flacco went 8 for 12 for 120 yards and a touchdown. He produced a field goal in his first series, then went three-and-out before directing a 96-yard drive that ended with a 30-yard touchdown pass to Mark Clayton.

Carolina quarterback Matt Moore, hindered by poor protection and three penalties against left tackle Jordan Gross, failed to produce any points during his three possessions.

Backup Jimmy Clausen went 8 for 15 for 80 yards and an interception in his informal NFL debut. He was sacked twice.

A torrential rain began in the third quarter, causing a sloppy game to become even messier.

Carolina's lone touchdown came when C.J. Wilson took a fumble by fourth-string running back Jalen Parmele into the end zone from 31 yards. John Kasay missed the extra point, leaving Carolina down 10-9.

Later in the quarter, Baltimore's Prince Miller broke seven tackles during a 57-yard punt return. That set up an 8-yard touchdown run by Troy Smith for a 17-9 lead.

In an effort to bolster a passing game that last year relied too heavily on dumpoffs to Pro Bowl running back Ray Rice, the Ravens added wide receivers Anquan Boldin and Donte' Stallworth. They also spread out the offense to take advantage of Flacco's skilled right arm.

Flacco took his new offense on a test drive against the Panthers, and the results were impressive.

"We need to clean some things up, but overall it was a good start," he said.

After a sack by safety Tom Zbikowski ended Carolina's opening series, Flacco completed a 23-yard pass to Derrick Mason on Baltimore's first play from scrimmage. The third-year quarterback then hit Clayton for 18 yards on third-and-10 to set up a 32-yard field goal by free agent pickup Shayne Graham.

Late in the first quarter, after a punt pinned the Ravens on their 4, Flacco went 6 for 6 for 79 yards in a 10-play drive that put Baltimore ahead 10-0. His initial completion of the drive was a 12-yarder to Boldin, and Clayton's reception in the end zone took place in front of Captain Munnerlyn.

"Mark was one-on-one on the edge," Flacco said. "I just had to give time to get on top of the guy, and he made an unbelievable play."

There was speculation Clayton's playing time this season would be squeezed by Boldin, Stallworth and Mason, but Clayton finished with a team-high 48 yards receiving.

Stallworth, like Boldin, had one catch. Willis McGahee had four receptions during the 96-yard drive for 37 yards.

"We're where we want to be at this point in time, but we still have a lot of work to do," McGahee said. "Still, I think we're all happy that we kept moving the ball down the field."

Baltimore amassed 196 yards in offense in the first half, only 22 of them on the ground. Rice started but did not touch the ball.