SANTA CLARA -- Quarterback Jimmy Garoppolo gave 49ers wide receiver Dante Pettis a chance at the biggest-possible moment, and Pettis came through.
Garoppolo squeezed a pass into Pettis, who made the grab between two Pittsburgh Steelers defenders for a 5-yard touchdown that provided the winning points for the 49ers with 1:20 remaining.
The 49ers’ 24-20 victory at Levi’s Stadium on Sunday gave San Francisco its first 3-0 start since the 1998 season.
What a weird game it was ...
Here are three takeaways:
Give it back -- again and again ...
The 49ers’ offense was about as bad as possible in the first half.
Garoppolo was on target with most of his throws, and he accounted for 170 passing yards. But the 49ers managed only three points because of four giveaways.
Garoppolo had two passes intercepted off the hands of intended receivers. And the 49ers gave it away twice on fumbles for a minus-four turnover margin after 30 minutes of play.
But, miraculously, the 49ers trailed just 6-3 at the half. The Steelers managed just two field goals off those turnovers. Pittsburgh cashed in an interception on a pass that Matt Breida bobbled and another interception on a catchable pass to Pettis that was deflected.
The 49ers also lost two prime scoring chances when Raheem Mostert fumbled inside in the Steelers’ 20-yard line and Garoppolo and center Weston Richburg botched a snap for a turnover at the Pittsburgh 7.
The 49ers had a fifth costly turnover in the middle of the fourth quarter when a direct snap hit wide receiver Richie James and the Steelers recovered on a play that originated from the Pittsburgh 7.
Garoppolo completed 23 of 32 passes for 277 yards with one touchdown and two interceptions. He led the team on the game-winning drive late in the fourth quarter.
Defense prevents blowout loss
Steelers quarterback Mason Rudolph, making his first NFL start in place of Ben Roethlisberger, was given some favorable situations in the first half. But the 49ers’ defense kept the damage to a minimum.
The Steelers managed just five yards after their first takeaway and had to settle for Chris Boswell’s 46-yard field goal. Then, DeForest Buckner tripped up Rudolph for a 1-yard gain on a third-and-6 scramble, and Boswell kicked a 26-yarder.
The defense did a good job of stopping the Steelers on their early-down run plays, then keeping the ball in front of them to hold Pittsburgh to one or fewer first downs on six of their seven possessions in the first half.
The 49ers ended up taking the lead early in the third quarter, but the defense finally had a misstep when Ahkello Witherspoon allowed a crossing pattern against JuJu Smith-Schuster and Tarvarius Moore took a poor angle to allow a 76-yard touchdown to give Pittsburgh a 13-10 lead late in the third quarter.
Verrett is needed -- does not respond
Veteran cornerback Jason Verrett was brought to the team to provide competition for Witherspoon at right cornerback. Verrett finally got his chance on Sunday, and he struggled.
Witherspoon won the starting job to open the season without much competition when Verrett sustained an ankle sprain on Aug. 7 that knocked him out of the preseason.
After being inactive for the first two games of the season, Verrett was in uniform on Sunday. And when Witherspoon left the game in the fourth quarter due to a foot injury, the 49ers turned to Verrett.
The Steelers turned to him, too.
Mason Rudolph, making his first NFL start, went after Verrett on the second play after Witherspoon left the game. Verrett was called for a 32-yard penalty for pass interference against James Washington.
On the next play, Verrett allowed Diontae Johnson to get behind him for an easy 39-yard touchdown pass from Rudolph. The play gave Pittsburgh a 20-17 lead with 10:22 remaining in the fourth quarter.
The next time the defense took the field, Emmanuel Moseley replaced Verrett at right cornerback.