CHARLOTTE, N.C. -- Russell Wilson decided to try it again. And it worked in a big way for the Seattle Seahawks.

Wilson threw a 43-yard touchdown pass to Jermaine Kearse in the fourth quarter and Seattle's defense came up with a huge turnover in the final minutes of a 12-7 win Sunday over the Carolina Panthers.

The Seahawks managed just two field goals before Kearse beat cornerback Josh Thomas down the right sideline for his first career touchdown catch with 10:13 left.

The score came one play after Wilson attempted a nearly identical pass -- although on a different play call -- but Stephen Williams couldn't come up with the diving catch.

Kearse did.

The second-year receiver made a leaping grab in the end zone over Thomas for the go-ahead score.

"We'd called for a shot before, and I was surprised we'd missed on that one," said Wilson, who threw for 320 yards. "Maybe I threw it a little too far. I saw Kearse out there with the rest of the guys and I read the play. He was a second read, and he did a great job of attacking the football."

Kearse had just three catches for 31 yards last season as a rookie, but showed promise during the preseason.

The Seahawks failed on a 2-point conversion attempt, but they wouldn't need it.

Their defense handled the rest.

The Panthers had a chance to move back in front, but safety Earl Thomas stripped DeAngelo Williams after a 16-yard scamper and Tony McDaniel recovered at the Seattle 8 with 5:25 left.

The Seahawks ran out the clock from there.

Williams, who finished with 76 yards on 16 carries, took the loss hard.

"It was one mistake, but it was the mistake that cost my team the game," said Williams, who also had a fumble in last year's 16-12 loss to the Seahawks.

Williams tried to make a spin move when he got the 10 when Thomas popped the ball loose from behind.

"Their secondary has a knack for doing that and my job is to protect the football," Williams said. "I didn't do my job."

Thomas certainly did his.

"When a running back feels like he's getting open, he'll start swinging his arms," Thomas said. "I got in a good punch. We always work on that, getting the ball to come out."

Added Wilson: "That shows what our football team is all about, that relentless nature to keep going after the ball. We're getting close to the game being on the line, and that's what makes Earl Thomas the best in the game."

It was a rough debut for new Panthers offensive coordinator Mike Shula.

Panthers quarterback Cam Newton was held to 125 yards passing and one touchdown -- a 3-yard strike to Steve Smith in the first half -- against a Seattle team playing without defensive starters Chris Clemons, Cliff Avril and Brandon Browner.

The Panthers led 7-3 at the break, but didn't score in the second half.

Newton was plagued by a few dropped passes, including two by his normally reliable tight end Greg Olsen.

Shula wanted to limit Newton's carries this season and he did just that with the explosive quarterback carrying just five times for 38 yards. Newton led the Panthers in rushing last year with 741 yards.

"We've got to go back and look and see exactly what they did and how they took us out of what we wanted to do on offense," Panthers coach Ron Rivera said.

It was a struggle for Seattle's offense, too.

The Seahawks couldn't get much going on the ground with Carolina smothering Marshawn Lynch, holding the All-Pro running back to 43 yards on 17 carries.

Wilson picked up the slack, completing 25 of 33 passes against Carolina's suspect secondary. Doug Baldwin had 91 yards on seven receptions.

Rivera, who dropped to 2-13 in games decided by seven points or less, blamed the loss on "missed opportunities," including the costly fumble by Williams, some dropped passes and the inability to get off the field on third down late in the game.

The 34-year-old Smith had six catches for 51 yards and a touchdown. He said despite the loss he expects to see Seattle again in January -- in the NFC playoffs.

Newton agreed.

"Absolutely, absolutely," Newton said. "Everybody, let's not panic now. We're going to be all right. This is the first game. We played an unbelievable team."

Game notes

Panthers starting right guard Garry Williams left in the first quarter with a left knee injury and Rivera said "it doesn't look good." The Panthers rotated Chris Scott, Travelle Wharton and Jeff Byers in at their two guard spots. ... Panthers defensive end Frank Alexander was ejected in the second quarter after throwing a punch at Seahawks offensive lineman Breno Giacomini following a Carolina sack. ... Carolina's Armond Smith was flagged twice for 30 yards for running out of bounds on punt coverage.