SANTA CLARA, Calif. -- Carlos Hyde wanted to outplay the better-known No. 28 on the field, Adrian Peterson.

He did that and more, and Jim Tomsula's San Francisco 49ers produced a victory in his debut as head coach minus the interim status he had for the final game of 2010.

Hyde carried the offense with 168 yards on the ground and touchdown runs of 17 and 10 yards in his first career start, spinning away from a defender and diving into the end zone untouched on a rare nice play in a first half full of ugly ones to lead the Niners past the Minnesota Vikings 20-3 on Monday night.

More from FoxSports

The new starter in place of departed franchise rushing leader Frank Gore, Hyde's yards were the most by a 49ers running back since Gore's 207 in Week 2 of 2009 against Seattle.

"We want to run the football," Tomsula said. "Carlos did an awesome job running the football."

Peterson ran 10 times for 31 yards playing his first game in more than a year following paid leave and then a suspension last year in the fallout from a child-abuse case against him in Texas.

Colin Kaepernick threw for 165 yards and second-year back Hyde ran 26 times to easily best his top rookie performance of 55 yards in his final game last year.

A sloppy first half featured a pair of botched field goals, Vikings quarterback Teddy Bridgewater running into his own teammate that led to a 10-yard sack, an 85-yard punt return touchdown called back on penalty, and a fumbled punt -- by the former Australian rugby league star Jarryd Hayne on his first NFL touch.

The 27-year-old rookie lost the fumble on a punt return in the first quarter when he misjudged the ball and had to dive forward to try to field it. He made a 1-yard run in the second quarter and caught a 7-yard pass. He was forced into running back duties as the only active backup after Reggie Bush was lost to a left calf injury with about 6 minutes left in the first quarter.

"We don't think it's very serious," Tomsula said.

Kaepernick improved to 5-0 on Monday nights with a victory in the first regular-season weeknight game at second-year, $1.3 billion Levi's Stadium, where a new field was put down for this game in the wake of regular sod problems over the past month and even dating to last season. Kaepernick has thrown nine touchdowns and no interceptions in Monday night games.

Peterson, playing for the first time since last season's opener at St. Louis, had just four carries in the first half then doubled that total on the initial series after halftime.

He still hasn't scored a touchdown against San Francisco in four meetings.

49ers linebacker NaVorro Bowman had one of five sacks against Bridgewater and also seven tackles in his first game in 20 months following a left knee injury sustained during the NFC championship game loss at Seattle in January 2014 that required surgery.

"You can't say enough about NaVorro Bowman and what he's overcome," Tomsula said. "You respect that."

The opening half was extended by a play after Ahmad Brooks' holding penalty on what would have been the last.

Blair Walsh lined up for a 63-yard field goal then the Vikings called timeout and brought back the offensive unit as the 49ers put seven men in the end zone. Bridgewater completed a 27-yard pass to Jarius Wright but was well short.

Tank Carradine was credited with a 10-yard sack after Bridgewater collided with teammate T.J. Clemmings in the second quarter.

Phil Dawson kicked field goals of 30 and 25 yards after having his first attempt of the night at 28 yards blocked by Andrew Sendejo before Marcus Sherels returned it 44 yards. But the Vikings had nothing to show for it as Walsh missed wide right on a 44-yarder.

The 49ers, who snapped a three-game losing streak to Minnesota, debuted their alternate black uniforms that they also will wear Nov. 29 at home against Arizona.