A lot of things went wrong for the 49ers on Sunday, and the team still managed to stay within striking distance until the end of the season-opening 24-16 loss to the Minnesota Vikings. Here is a look at the 49ers' first report card of the 2018 season:

Rushing Offense

The 49ers had to play all seven of their active offensive linemen after starting right guard Mike Person and backup Joshua Garnett exited with foot injuries. So it's probably not a big surprise that the 49ers struggled to gain consistency on the ground.

Matt Breida gained 46 yards on 11 attempts, and Alfred Morris added 38 yards on 12 carries. The big mistake was Morris’ first-half fumble at the goal line.

Grade: D

Passing Offense

Quarterback Jimmy Garoppolo threw for 261 yards, but he completed less than 50 percent of his attempts and was charged with three interceptions. Kendrick Bourne admitted to running a wrong route, which contributed to one of Garoppolo’s passes going for a pick six.

Many other chances got away, including Dante Pettis and Pierre Garçon failing to come up with possible touchdown receptions. George Kittle dropped a deep pass that could’ve gone for a TD, and Garoppolo overthrew him when he was open in the end zone another time. Pettis’ first NFL reception was a 22-yard TD at the end of a Garoppolo scramble drill.

 

Grade: D-minus

Rushing Defense

Explosive Vikings running back Dalvin Cook managed just 2.5 yards per carry on 16 rushing attempts, and Latavius Murry was held under 4 yards per carry, too. So, although the 49ers had some tackling issues, the run defense was tight.

Linebacker Fred Warner covered up a mistake on defense when he punched the ball out of Cook’s grasp. Richard Sherman recovered the fumble for the 49ers’ only takeaway of the game.

Grade: B-plus

Passing Defense

Kirk Cousins threw for 244 yards and two touchdowns -- both on plays when defenders Ahkello Witherspoon and Jaquiski Tartt didn't look back for the ball in the air. DeForest Buckner had a huge game with 2 ½ sacks. He had just three sacks all of last season.

Linebacker Brock Coyle did not have a great day in coverage (and later left the game with a concussion), and the secondary had too many mixups.

Grade: B-minus

Special Teams

Robbie Gould connected on field goals of 42, 33 and 22 yards, as he was forced to take over when the offense stalled. Punter Bradley Pinion averaged a solid 41.8 yards net on his four punts. Pettis muffed a punt, but the 49ers recovered the ball, and he averaged 7 yards on two returns.

Grade: B

Overall

Sure, the 49ers hung in the game until the final minute against a Vikings team that has Super Bowl aspirations. But this was a sloppy performance with some bright spots mixed in. The four turnovers were costly. And when the 49ers had opportunities to make game-changing plays, they did not come through. The defensive effort was good, but there also were a lot of missed tackles.

There’s no shame in losing to the Vikings, but the 49ers let this one get away from them.

Grade: C-minus