Jerome Simpson's 33-yard reception -- where he hurdled over Bills defensive back Jairus Byrd -- was the highlight play of the first half as the Vikings took a 16-7 lead over Buffalo at Mall of America Field.
Simpson's catch helped set up a 1-yard scoring pass from Christian Ponder to Jerome Felton to cap the opening drive of the game.
Rookie Blair Walsh had field goals of 22, 45 and 47 yards for the Vikings, and missed wide right from 49. He added a 40-yarder late in the third quarter.
Buffalo scored on a 31-yard pass from Ryan Fitzpatrick to Donald Jones in the second quarter.
And at the start of the second half, Tashard Choice scored on a 1-yard run. It was set up by a 64-yard Vince Young pass to Dorin Dickerson.
Ponder completed 10 of 13 for 136 yards, and backup quarterback Joe Webb had two carries for 64 yards, including a 41-yard run. Toby Gerhart ran for 30 yards on six carries. Simpson had three catches for 43 yards.
Fitzpatrick was 8 of 11 for 58 yards before being replaced by Young.