DETROIT -- Shayne Graham kicked a 32-yard field goal with 2:21 remaining in overtime to give the Houston Texans a wild and controversial 34-31 victory over the Detroit Lions on Thursday at Ford Field.
Matt Schaub completed 29 of 48 passes for 315 yards and Andre Johnson had nine receptions for 188 yards for the Texans (10-1). Arian Foster, who gained 102 yards on 20 carries to surpass 1,000 yards this season, scored the tying touchdown with 1:55 remaining in regulation.
Both teams missed field-goal attempts in overtime before Graham finally ended it.
Matthew Stafford passed for 427 yards and two touchdowns for Detroit (4-7), which had lost nine consecutive Thanksgiving Day games. This was by far the most excruciating, as it had lost its previous eight Thanksgiving Day games by an average of 21.5 points.
Calvin Johnson caught eight passes for 140 yards and a touchdown, but the Lions couldn't overcome a controversial touchdown run by Houston reserve running back Justin Forsett.
Detroit had the first overtime possession, but Brandon Pettigrew fumbled at the Houston 35-yard line and Darryl Sharpton recovered. Graham then had a chance to win it for the Texans but missed a 51-yard field-goal try with 9:38 left.
Cornerback Chris Houston stepped in front of Andre Johnson and picked off a Schaub pass at the Texans' 41 on Houston's next possession. But Jason Hanson's 47-yard field-goal try with 4:32 left bounced off the right upright.
Andre Johnson put the Texans in field-goal range on the ensuing possession with a 23-yard reception. James Casey's 7-yard reception preceded Graham game-winner.
Mistakes by the officiating crew and Lions coach Jim Schwartz resulted in the 81-yard scoring run by Forsett with 6:35 remaining in the third quarter.
Forsett was seemingly tackled at his own 26-yard line but kept going and the officials signaled touchdown when he reached the end zone. Replays showed that Forsett's knee and elbow were down after he was grabbed by safety Louis Delmas.
All scoring plays are normally reviewed, but because Schwartz threw a challenge flag immediately, the review was nullified. That infuriated the crowd and allowed Houston to cut Detroit's lead to 24-21.
Hanson had kicked a 46-yard field goal 33 seconds earlier.
Graham's 45-yard field goal made it 24-24 with 2:36 remaining in the quarter.
Detroit regained the lead when Joique Bell burst through a big hole up the middle and scored from 23 yards with 13:31 left. But Andre Johnson made two crucial catches on Houston's game-tying drive before Foster's 1-yard scoring run.
Stafford racked up 246 passing yards in the first half as the Lions led 21-14 at halftime. Detroit moved ahead with 1:49 remaining in the half when Calvin Johnson beat the coverage of Alan Ball and hauled in a 22-yard pass from Stafford. That score came just 22 seconds after the Texans had tied the score 14-14 on a 9-yard pass from Schaub to tight end Owen Daniels.
NOTES: Lions left tackle Jeff Backus saw his franchise-record streak of 186 consecutive starts snapped because of a hamstring injury. Backus, who was replaced by rookie Riley Reiff, had not missed a game in his 12-year career. Backus' streak was the third longest among active players behind Tampa Bay's Ronde Barber (209) and Washington's London Fletcher (189). ... Cornerback Jacob Lacey (foot) and wide receiver Titus Young (disciplinary reasons) were also inactive, and the Texans played without starting cornerback Johnathan Joseph (hamstring) and nose tackle Shaun Cody (ribs, back). Houston linebackers Brooks Reed and Bradie James left the game with injuries. ... Calvin Johnson surpassed 7,000 career receiving yards with his 20-yard, first-quarter reception. He's second behind Herman Moore (9,174) in franchise history. ... Stafford became the second quarterback in NFL history to pass for 11,000 yards in 40 or fewer games, joining Kurt Warner (11,457 yards after 40 games).