After a scoreless third period, the 49ers then put the game away with Beathard's 11-yard TD run and rookie running back Matt Breida's 33-yard scoring run.
Three plays later, Beathard connected with Goodwin for an 83-yard touchdown, the 49ers' longest play of the season.
Game No. 10 was far from flawless but it produced the 49ers' overdue, first victory Sunday under coach Kyle Shanahan, who got showered with cups of water a minute left in their 31-21 triumph over the visiting New York Giants. He caught a touchdown pass for the fourth straight week.
In a game that featured two teams with one win between them entering Sunday, one could argue that the Niners' victory is counterproductive as it will only hurt their chances at the top draft pick. Carlos Hyde didn't have either of San Francisco's two rushing TDs, but did pace the ground game with 98 yards. Fast-forward to Week 10 this season, and though people wouldn't be surprised that the 49ers would be 0-9, many would have thought they would at least have their first win. That only cost the 49ers a timeout, however, as the Giants' series ended with a failed field-goal attempt from 34 yards.
The Giants moved ahead 13-10 on Manning's 9-yard touchdown pass to Engram with 2:08 remaining in the half. DL Ronald Blair made his case to be part of the plan in 2018, as he recorded two sacks, one of which resulted in an Eli Manning fumble that was recovered by the 49ers deep in their own territory. Beathard finished with 288 yards on 19-of-25 passing.
One week after Beathard looked the part of designated tackling dummy, taking 16 hits in a loss to Arizona, Beathard and the Niners welcomed back left tackle Joe Staley from a fractured orbital bone under his right eye. 49ers starting TE George Kittle (ankle) and starting DE Solomon Thomas (knee) were inactive. Giants MLB Kelvin Sheppard, who started in place of injured MLB B.J. Goodson (ankle), left the game in the third quarter with a groin injury and did not return.