When Lions DE Kyle Vanden Bosch was asked how frustrated he felt after the 34-31 overtime loss to the Texans at Ford Field on Thursday, he echoed the sentiments of most of his teammates.

‘This is a really good team,” he said. “We’re just not playing like it right now.”

Vanden Bosch is right, the Lions haven’t played like the playoff team they were expected to be when the season began, but their effort against the Texans on Thursday afternoon was far better than most expected. Lions players pledged that win or lose, their play would make the annual holiday classic more competitive than it had been in years, and they did exactly that.

Detroit probably deserved its first Turkey Day win since 2003. Jim Schwartz’ egregious error in challenging Houston RB Justin Forsett’s phantom touchdown, coupled with small mistakes in key situations, cost the Lions a chance to save their season.

Offense: B-

The offense got a much-needed fast start for the second straight week, putting pressure on the Texans’ secondary. Matthew Stafford’s 50-percent completion rate doesn’t tell the true story of a performance that was filled with accurate throws throughout the first three quarters. His 441 passing yards and two touchdowns reminded fans of how effective he can be when he’s on the same page with his receivers.

The WRs actually seemed to benefit from Schwartz’ decision to bench Titus Young. Ryan Broyles’ six catches for 126 yards provided the perfect complement for Calvin Johnson, who was far more involved in the offense than he had been earlier this year. Johnson finished with 17 targets with 140 yards on eight catches and caught his third touchdown in as many weeks. The passing game benefitted from Houston’s strange decision to blitz Stafford, ignoring the successful two-high safety coverage schemes that have stymied the Lions’ all year.

Lions RBs Mikel Leshoure and Joique Bell combined for 79 important yards. The duo averaged 4.6 yards a carry, and Bell rushed for Detroit’s first two 20-plus yard gains of the season. Their success forced a Texans linebacker corp that lost two players to injury during the game to respect the run, opening the middle of the field for TEs Tony Scheffler and Brandon Pettigrew. Scheffler caught five passes in his best game of the season. Pettigrew struggled, catching eight of his 15 targets and committing a key turnover in overtime.

The O-line protected Stafford well for most of the afternoon, but it struggled on pressure drives in the fourth quarter and overtime. Texans DE J. J. Watt sacked Stafford twice to back Detroit out of field goal range in the second half. Previous game’s grade: C

Defense: C+

The Lions’ secondary stole the spotlight against the Texans. CB Chris Houston may have had the game of his Lions’ career. He allowed Texans WR Andre Johnson to gain 188 yards, but Johnson was never open in the end zone in key situations. Houston also had four breakups, and gave the Lions a chance to win the game in overtime when he intercepted Texans QB Matt Schaub. Detroit’s other DBs have been a picture of inconsistency this season, but they held the six Texans’ receivers not named Johnson to a combined 127 yards.   

Detroit’s linebackers made some big plays in key situations, but they also struggled to contain Texans RB Arian Foster, who rushed for 102 yards and two scores. Stephen Tulloch made 15 tackles, and Justin Durant added eight, but they were responsible for some of the gaps that gave Foster room to run. The LBs covered TE Owen Daniels well for most of the game, but they allowed him to get open in the second quarter for his sixth touchdown of the year.

The D-line was far from stellar. DE Cliff Avril had both of Detroit’s sacks, but he was also contained well on some of Foster’s runs. Nick Fairley made five tackles, but he was less effective at pressuring Schaub than he had been against Green Bay and Minnesota the previous two games. DE Vanden Bosch dropped an interception at the Texans’ 2-yard line in overtime that would have won the game, and DT Ndamukong Suh’s five hits on Schaub were overshadowed by the first-quarter incident in which he kicked Schaub in the groin. Previous game’s grade: C

Special Teams: C+

KR Stefan Logan has struggled recently, but he averaged 23 yards per kick return and gave Detroit good field position on several drives. Ashlee Palmer made two key special teams’ tackles, solidifying his position as a vital reserve. The unit’s grade was lowered because of the bad snap from Don Muhlbach that contributed to Jason Hanson’s missed game-winning field goal attempt in OT.  Previous game’s grade: B-

Coaching: D-

The only reason the coaching staff didn’t get an F was they were able to install a solid game plan on a four-day turnaround. Their work was overshadowed by Schwartz’ illegal use of his challenge flag on Forsett’s score. His emotions got the better of him, and by his own admission, cost his team seven crucial points that allowed the Texans to force overtime. Previous game’s grade: D

Follow Lions reporter John Kreger on Twitter at @CBSLions and @JohnKreger.