Garoppolo's 334 passing yards marked his career high and first 300-yard passing game.
Houston lost quarterback Tom Savage to a concussion in the first half.
Scoreless over their opening four possessions, the 49ers caught a rhythm in the second quarter when Garoppolo completed a 32-yard, first-down pass to Goodwin that set the stage for the first Gould field goal, a 52-yarder the pulled San Francisco even at 3-3 at the 6:31 mark.
The 49ers will be without their starting right tackle Trent Brown when Jimmy Garoppolo makes his second start against the Houston Texans, the team announced. Houston opened the scoring on Ka'imi Fairbairn's 55-yard field goal. The pass rush was consistent with three sacks and seven quarterback hits.
However, Yates would later enter the game as Savage went to the locker room to be further evaluated for a concussion.More news: Kirstjen Nielsen sworn in as DHS secretary
More news: Australia and Austria Legalized Gay Marriage
More news: Supermoon Alert! Sunday's Full Moon Will Be 2017's Only Supermoon
-Linebacker Reuben Foster was shaken up after Texans running back Lamar Miller drilled him on a blitz pickup in the second quarter on a third-down play.
Brown's absence means the 49ers will call on Zane Beadles potentially line up against Jadeveon Clowney.
-The 49ers activated defensive linemen Aaron Lynch and Tank Carradine and deactivated Ronald Blair, Leger Douzable and D.J. Jones.
A late touchdown against the Seattle Seahawks in his brief stint in Week 12- followed up with a thoroughly impressive performance facing the Chicago Bears last week that was capped off with a 14-play, 86-yard drive to win the game - has enamored Garoppolo's teammates and made him a quick fan favorite.