Kicker Justin Tucker hit a 49-yard field goal as time expired to lift the Ravens to a 20-17 victory Sunday over the San Francisco 49ers, extending their winning streak to a franchise-record eight games.

In a matchup of Super Bowl contenders, quarterback Lamar Jackson struggled as a passer amid rainy conditions at M&T Bank Stadium, finishing 14-for-23 for 105 yards and a touchdown. But he had his fourth 100-yard rushing game this season (16 carries for 101 and a touchdown), and a key fourth-quarter push kept the Ravens’ decisive drive alive.


With the game-winning kick, Tucker has made 38 straight field-goal attempts in the fourth quarter, the longest active streak in the NFL. It was his 14th career game-winning field goal.

Like much of the game, it was a slog. It was also bold. After taking over at their 35 with 6:28 remaining, the Ravens got just 9 yards on their opening three plays. Sam Koch had pinned the 49ers deep with a picture-perfect punt earlier in the game. But coach John Harbaugh kept his offense on the field.

Lining up under center, Jackson found a hole behind right guard Marshal Yanda on a quarterback sneak and found the yard he needed, plus another 2. Slowly but surely, they found their way into 49ers territory: a 2-yard run by Jackson, a 12-yard pass to tight end Mark Andrews, a 10-yard completion to tight end Hayden Hurst. It ended at the 31-yard line, and the Ravens left the game in Tucker’s control.

The Ravens finished with 283 yards against San Francisco’s elite defense, and just 4.6 yards per play. But the 49ers weren’t much better. Quarterback Jimmy Garoppolo finished 15-for-21 for just 165 yards and a touchdown, as San Francisco relied more on its ground game (174 yards) to move the ball.

The second half was a struggle for both sides. The Ravens were held scoreless in the third quarter, the first time they’ve been blanked for a quarter since the opening 15 minutes of their Week 11 blowout of the Houston Texans. The 49ers managed only a field goal.

Until late, defensive stands defined the fourth quarter. On fourth-and-5 from the 49ers’ 40, with the game tied at 17, Jackson could not connect with Andrews. On the ensuing drive, the 49ers needed a yard at the Ravens’ 35 on fourth down. But they didn’t run the ball, and defensive end Chris Wormley deflected a short pass to tight end George Kittle.

The 49ers came prepared. San Francisco became the first team to score against the Ravens on its opening drive this season, as rookie wide receiver Deebo Samuel beat cornerback Marcus Peters on a deep sideline throw on fourth-and-1 for a 31-yard score.

Facing their first deficit since Week 7, the Ravens punted after just seven plays and 22 yards. That, too, was unexpected: With Jackson in, the Ravens had scored on 12 drives in a row, including touchdowns on all six of his possessions Monday night against the Los Angeles Rams.

They soon got up to speed. After a strip-sack by safety Chuck Clark in 49ers territory, Jackson found Andrews on a 20-yard touch pass for the Ravens’ first score. On their next possession, they churned out 65 yards on 13 plays and over seven minutes, the last a 2-yard run by Jackson to put them ahead 14-7.

San Francisco flipped the momentum with its ground game. Backup running back Raheem Mostert broke tackle attempts from Peters and safety Earl Thomas III on a 40-yard score, the third touchdown of at least 40 yards the Ravens have allowed this season.

Instant analysis

Jonas Shaffer, reporter: You can only learn so much about a team’s quality in a blowout. The Ravens needed this win to keep pace in the race for home-field advantage and to prove that they could win when their offense isn’t fully functional.

Peter Schmuck, columnist: The Ravens almost met their match Sunday, needing a long field goal as time expired to win their eighth straight game and extend an amazing streak of victories over the best teams in the NFL. Quarterback Lamar Jackson seemed to struggle with the elements at times, throwing several balls off target, but he delivered another strong rushing performance and the Ravens defense came up with enough stops to neutralize Jimmy Garoppolo and a strong 49ers running game. It wasn’t a blowout, but it was another big test, and the Ravens passed it. Now, it’s on to Buffalo and another formidable opponent.

Childs Walker, reporter: After a long run of blowouts, the Ravens proved they could win a dogfight against an opponent that matched them in almost every way. Justin Tucker reminded us how valuable he is as an ace in the hole in such situations, hitting from 49 yards under miserable conditions to win the game. For the first time in more than two months, the Ravens had done to them what they’ve done to most opponents this season. The 49ers ran at will on a rain-soaked field, using shifty back Raheem Mostert to exploit poor edge play by the Ravens’ outside linebackers. Lamar Jackson suffered through his worst passing performance in recent memory, missing on a number of short throws. The pouring rain was a factor, but Jackson’s opposite number, Jimmy Garoppolo, threw far more precisely. Jackson was still effective as a runner, but the 49ers’ ultra-athletic defensive front proved the Ravens’ offense is not invincible against.

Recommended on Baltimore Sun