Rookie quarterback Sam Bradford gave his team a chance when he engineered two second-half scoring drives, including one in the final minute of regulation, but the 49ers pulled out a 23-20 win in overtime.
Bradford completed 30 of 42 passes for 251 yards and a touchdown for a quarterback rating of 94.4, his second-highest mark of the season. He also did not throw an interception for the fourth straight game.
But in the battle of former Heisman Trophy winners, it was the 49ers’ Troy Smith who came out on top. Smith completed 17 of 28 passes for 356 yards and one touchdown and a QB rating of 116.7.
Smith, starting in place of injured Alex Smith, led San Francisco to a pair of scoring drives in the fourth quarter and after a failed Rams series to start overtime moved the 49ers into range for Joe Nedney to kick the game-winning 29-yard field goal.
The Rams (4-5) have now lost their last seven road games — going back to last year’s win at Detroit — and they have won just one road game in their last 17. Since 2007, St. Louis has lost 24 of 28 games on the road.
The visitors got a big game from standout running back Steven Jackson, who rushed for 81 yards and a touchdown on 20 carries and caught eight passes for another 67 yards. He racked up 148 total yards.
Jackson’s 13-yard touchdown run with 2 minutes and 48 seconds left in the third quarter gave the Rams a 17-10 lead after trailing 10-3 early in the second quarter.
But the 49ers, who had three touchdowns during the game called back because of penalties, rallied for 10 points in the fourth quarter — on a 47-yard field goal by Nedney and a 16-yard touchdown reception from Michael Crabtree — to take a 20-17 lead with 2:10 remaining.
Starting at his own 15 yard line, Bradford moved the Rams downfield for the game-tying score. The No. 1 overall pick from the University of Oklahoma completed seven of 10 passes on the drive and converted a second and long with a 25-yard pass down the right sideline to Jackson.
That put the Rams in position for Josh Brown to kick a 33-yard field goal as time expired to send the game to overtime.
St. Louis won the toss and elected to receive, but after a 3-yard pass to Jackson and a 2-yard run by Jackson Bradford was sacked by defensive end Justin Smith for an 8-yard loss on third down.
The 49ers ran running back Frank Gore three times for 21 yards to open their series in overtime before a pass interference call against Oshiomogho Atogwe moved San Francisco into field-goal range. After two more Gore runs for 12 yards, the 49ers brought Nedney out to kick the game-winning field goal.