Even on a day in which the 49ers had a bounce-back victory, they also suffered a disheartening loss.

The 49ers generally played well in a 34-24 win over the New York Giants, but their defense was hit with a potential huge blow.

The 49ers fear that rookie defensive lineman Mykel Williams sustained a season-ending ACL tear, coach Kyle Shanahan said afterward.

Williams’ injury came late in the game, and it marred what should have been an all-around good day for the team. The 49ers played so poorly in Week 8 against the Houston Texans, but they came through with a solid showing against the Giants to get back on the winning track.

Here is the report card from the 49ers’ Week 9 game against the Giants:

Rushing offense

After rushing for just 48 yards a week earlier against the Texans, the 49ers had a lot more success on the ground in this game.

It was not only Christian McCaffrey, it was Brian Robinson, too. McCaffrey had 106 yards and a touchdown on 28 rushing attempts. Robinson added 53 yards and a touchdown on five rushing attempts.

The offensive line opened some holes, and the 49ers were able to get things established and continue to pound the Giants on the ground from start to finish.

Grade: A

Passing offense

Quarterback Mac Jones did a good job early of taking what the Giants’ defense gave him. As a result, he completed all of his 14 pass attempts in the first half. He had 143 yards passing and two touchdowns. Jones finished the game with 19 completions on 24 attempts for 235 yards.

The 49ers capped their first drive with Jones hitting McCaffrey on a 5-yard touchdown pass. On the second drive, he found Jauan Jennings on an 11-yard scoring pass.

Rookie Jordan Watkins had a big 19-yard catch on the 49ers’ first drive as he wrestled the ball away from defensive back Deonte Banks. That play helped tie the score early in the game.

Grade: A-minus

Rushing defense

Linebacker Tatum Bethune, who stepped into the lineup when Fred Warner sustained a season-ending injury, had a big day with a game-high 16 tackles.

The Giants’ biggest threat on the ground was quarterback Jaxson Dart, who gained 56 yards and a touchdown on eight attempts. New York gained 117 yards on 21 rushing attempts.

Grade: C-plus

Passing defense

Dart had a solid day, as the rookie completed 24 passes on 33 attempts for 191 yards with two touchdowns.

Nickel back Upton Stout made a couple of plays on the second drive of the game to help force a three-and-out. The 49ers did not get much of a consistent pass rush, but Clelin Ferrell and Sam Okuayinonu came up with sacks of Dart to cut short drives.

Cornerback Renardo Green had a big pass-breakup on a third-down play in the third quarter that forced the Giants to settle for a field goal.

Grade: B

Special teams

Kicker Eddy Piñeiro kept his perfect season on field goals alive. Also, he continued to show he has a strong leg. He connected on a 54-yard field goal in the first half to give the 49ers a 10-point lead.

Piñeiro also made a kick of 33 yards to remain perfect at 19-for-19 on field-goal attempts to begin his 49ers career.

Meanwhile, the Giants had their issues when Graham Gano missed a 44-yard kick wide left in the first half.

Robinson had a 41-yard kickoff return in the fourth quarter that led to the 49ers’ clinching touchdown, which gave them a 34-17 lead.

Grade: B-plus

Coaching

The 49ers got good mileage out of Shanahan’s opening 24 plays, as they scored touchdowns on their first two drives of the game to set the tone for this game.

The 49ers showed a good mix of run and pass before settling in and running the ball 39 times through the course of the game.

After a rough start, the defense settled down. Defensive coordinator Robert Saleh pushed the right buttons to turn it around, as the 49ers did a good job of tying together their pass rush with the coverage on the back end.

Grade: B-plus.

Overall

The 49ers tied it all together with their best offensive performance of the season. They scored a season-high point total. And when the offense was finding its way with a good balance of run and pass, the defense allowed only one first down in the Giants’ final five possessions of the first half.

After falling behind 7-0, the 49ers outscored New York 27-3 to take firm control of the game. They took care of business.

Grade: B-plus

Download and follow the 49ers Talk Podcast