CHICAGO -- Adrian Peterson's legs and Blair Walsh's foot lifted the Minnesota Vikings to a rare Windy City win.
Peterson ran for 103 yards and Walsh kicked a 36-yard field goal as time expired to lift Minnesota to a 23-20 win over the Chicago Bears on Sunday.
Latest NFL stories
The Vikings had dropped seven straight at Soldier Field, and it looked like the streak would reach eight when Jay Cutler rolled to his right and plowed over safety Harrison Smith for a 4-yard touchdown with just under five minutes remaining.
But two late scores lifted Minnesota (5-2) to its third straight win.
Stefon Diggs turned a short pass into a 40-yard TD when he spun around Sherrick McManis and went up the left side, tying it with 1:49 left.
After Chicago (2-5) punted, Teddy Bridgewater hit a leaping Charles Johnson for a 35-yard pass that put the ball on the 27. Two plays later Walsh booted the winner, pumping his right arm as the ball went through the uprights.
The Bears (2-5) lost star running back Matt Forte and receiver Eddie Royal to knee injuries while dropping their second straight game.
The loss comes two days after a stunning police report saying former defensive lineman Jeremiah Ratliff threatened team staff when he was released. He was seen having an animated discussion with general manager Ryan Pace in the parking lot outside Halas Hall a week and a half ago, and the team announced his release a day later.
On Sunday, the Bears had trouble containing Peterson and came up short when it looked like they were ready to pull out the win.
Peterson carried 20 times, Bridgewater threw for 187 yards and a touchdown. Diggs had six catches for 95 yards and the Vikings won at Soldier Field for the first time since 2007. They also ended another long road losing streak after a win at Detroit last week -- their first away from home over an NFC North team since 2012.
Cutler completed 22 of 33 passes for 211 yards for Chicago. He also threw for a touchdown, giving him 137 as a Bear and tying Sid Luckman's club record.
Alshon Jeffery had 116 yards receiving, including a leaping, twisting touchdown grab in the first half after an interception by Kyle Fuller. Forte had 41 yards rushing and 28 receiving before he walked to the locker room early in the second half.
Robbie Gould kicked two field goals, including a 55-yarder, for Chicago.
Peterson ran for 75 yards through the first two quarters and the Vikings led most of the half. But that changed in a big way when Fuller picked off Bridgewater near midfield and returned the ball to the Minnesota 34 with just over a minute left.
Cutler then hit a leaping, twisting Jeffery in the left corner of the end zone to tie it at 10. That spectacular grab over Xavier Rhodes capped an otherwise dull half in which the Bears seemed content to throw 2-yard screens rather than attempt anything downfield.
They also struggled early on special teams, with Marc Mariani muffing two punts. The Vikings' Marcus Sherels returned a punt 65 yards untouched up the right sideline to give Minnesota a 7-3 lead, and Walsh added a 43-yard field goal early in the second to make it a seven-point game.