Bob Donnan-USA TODAY Sports

Jimmy Garoppolo threw for two touchdowns and Emmanuel Moseley returned an interception for a touchdown as the San Francisco 49ers won 37-15 over the host Carolina Panthers on Sunday in Charlotte, N.C.

Jeff Wilson Jr. ran for 120 yards and a touchdown on 17 carries to help San Francisco (3-2) win for the second time in less than a week. Tevin Coleman also scored on a late-game 5-yard run.

Garoppolo completed 18 of 30 passes for 253 yards without an interception. The 49ers were 7-for-12 on third-down conversions.

Panthers quarterback Baker Mayfield was 20 of 36 for 215 yards. Carolina (1-4), which has won just one of four home games this season, was 3-for-15 on third-down conversions.

Backup PJ Walker also took some snaps at quarterback for the Panthers, completing 5 of 6 passes for 60 yards.

The 49ers scored on the game's opening possession, as Garoppolo capped off a seven-play 75-yard drive by connecting with Coleman on a 9-yard scoring strike.

San Francisco appeared set to expand its lead in the last two minutes of the first half, but Carolina's Derrick Brown blocked Robbie Gould's 43-yard field goal attempt.

The 49ers did better just four plays later, with Moseley's interception and 41-yard return for a touchdown.

Carolina perked up and scored nine points in the third quarter. The 49ers responded by marching 75 yards and chewing up more than six minutes of clock to go up 30-12 on Wilson's 1-yard run with 12:31 left.

The Panthers' lone touchdown of the afternoon came on Christian McCaffrey's 19-yard run on the first possession of the second half. He was short on a two-point conversion run. McCaffrey finished with a team-high 54 rushing yards to go with 50 receiving yards on 21 touches.

Eddy Pineiro gave Carolina its only first-half points with a 43-yard field goal. The Panthers had 133 yards of total offense in the first half.

Pineiro connected on field goals of 37 and 34 yards in the second half.

More must-reads:

TODAY'S BEST
Heat legend cautions Lakers against hiring JJ Redick
Welcome to the WNBA: Caitlin Clark sets infamous record in debut
Jalen Brunson leads Knicks to blowout win in Game 5 vs. Pacers
Nikola Jokic torches DPOY to lead Nuggets past Wolves in Game 5
Oilers use late heroics to tie Canucks at two games each
Watch: Astros pitcher ejected after foreign substance check
Kirk Cousins not angry with Falcons because winning is 'hard enough'
Bronny James has surprising comments on potentially teaming up with LeBron
Bills add two-time Super Bowl champ to new-look WR room
Brewers lose team-leading home run hitter to injured list
Sandy Alderson denies involvement in Mets, Billy Eppler IL controversy
Twins reliever shut down for six weeks with patellar tendon tear
Chris Finch throws shade at Nuggets star over Rudy Gobert’s fine
Cardinals head coach warns not to bet against Kyler Murray
Details emerge on Jason Kelce’s role at ESPN
Rangers defenseman wins Mark Messier Leadership Award
Ex-NFL head coach takes over as Arena Football League commish
Yankees young stud takes major step in return from injury
See top groupings for Rounds 1 and 2 at 2024 PGA Championship
Former Bruins winger dead at 75