Updated

Kellen Moore's touchdown run in the fourth quarter was the winning score as the Detroit Lions took a 38-32 win over the Buffalo Bills in the final preseason game for both squads.

Matthew Stafford and Calvin Johnson hooked up for a score while Shaun Hill and Mikel Leshoure both scored on the ground for the Lions.

Detroit finished the preseason with a mark of 2-2 and will open their season on Sept. 9 at home against the St. Louis Rams.

Ryan Fitzpatrick and Tyler Thigpen each threw a touchdown pass for the Bills.

Tarvaris Jackson, who was acquired by the Bills from the Seattle Seahawks on Monday, had a shaky performance. He fumbled his first snap and threw one pass, which was picked off by Amari Spievey at the Detroit 6 with 4:33 remaining in the game.

Buffalo went 0-4 in the preseason and will begin its 2012 campaign on the road against the New York Jets on Sept. 9.

After Fitzpatrick and Steve Johnson hooked up on a 4-yard TD on the first drive of the game to give Buffalo a 7-0 lead, the Lions reached the end zone four straight times.

Stafford and Johnson got together on a 24-yard TD play and Buffalo fumbled the ensuing kickoff, leading to a two-yard score from Leshoure.

A three-and-out by the Bills saw the Lions work with a short field and cap the 40-yard drive on a one-yard plunge into the end zone by Hill. Jonte Green then picked off a Thigpen pass and went 23 yards into the end zone to give Detroit a 28-7 lead going into the second.

Rian Lindell's 30-yard field goal was the only points of the second quarter as the game went to the half with Detroit up, 28-10.

Buffalo scored a pair of touchdowns in the third to make it a four-point game on a one-yard run from Johnny White and 4-yard TD catch by Dorin Dickerson from Thigpen.

Jason Hanson's 39-yard field goal less than a minute into the fourth gave Detroit a seven-point edge, but Marcus Easley returned the kickoff 100 yards and the Bills converted a 2-point play to make it a 32-31 game.

Detroit countered to take the lead back on a 1-yard rushing score by Moore with 10:20 remaining.

Thigpen led the Bills to the Lions 24, but with eight seconds left, his pass intended for Naaman Roosevelt was picked off by Justin Miller.