HOUSTON -- Faced with one last chance to make the playoffs, the Chicago Bears blew it.
The Bears (9-7) needed a win to keep any postseason hopes alive. The Vikings beat the Giants to take the NFC North title; Chicago could have still gotten into the wild-card spot, but needed a victory combined with losses or ties by Dallas and Tampa Bay.
"Our team failed today," coach Lovie Smith said. "Overall our team didn't play well enough ... this year to accomplish our goals. It's kind of as simple as that."
Long out of the playoff picture themselves, the Texans were determined to win this one to finish with their second straight 8-8 record. They were desperate for a big finale after an embarrassing loss to Oakland last week.
"Our whole thing was to ruin their season," Houston's Mario Williams said.
Johnson had touchdown catches of 43 and 3 yards and rebounded from last week's two-catch performance with 10 receptions for 148 yards.
It was his NFL-record seventh game this season with at least 10 catches and his eighth 100-yard game. His 1,575 yards this season are the most for a receiver since 2003.
"It was a real big game," Johnson said. "We were playing against a good football team that had a lot at stake. We knew what they were trying to do."
The Bears entered the game still in playoff contention after two straight overtime wins. But on Sunday, they saw their 10-0 lead evaporate with 21 straight points by the Texans and never led again.
"That first drive of course was good, but it seemed like there was a lull in the middle of the game where we haven't been able to be as productive as we need to," Smith said.
Trailing by a touchdown, Chicago had a chance to get the ball back late in the fourth quarter when Steve Slaton fumbled and the Bears recovered. Texans coach Gary Kubiak challenged the call and it was overturned, so the Texans retained possession.
Slaton scored his team rookie record ninth rushing touchdown a few plays later to stretch Houston's lead to 31-17.
"We didn't finish, plain and simple," Chicago's Charles Tillman said. "Opportunities presented themselves and we just didn't get it done."
Chicago got a touchdown when Kyle Orton pushed in from a yard out with 1:31 to play to make it 31-24. The onside kick was recovered by Houston and the Texans held on for the win.
Houston went for it on fourth-and-1 from the 6-yard line early in the fourth quarter and got it on a quarterback sneak. The Texans ended up settling for a field goal anyway after getting 1 yard in the next three plays. Kris Brown's 22-yard kick made it 24-17 with about 12 minutes remaining.
The Texans played almost the entire second half without Williams after he injured a groin on the third play after halftime and didn't return.
A 37-yard pass from Orton to Devin Hester got the Bears to the 1-yard line with about six minutes left in the third quarter. Greg Olsen caught a 1-yard pass in the back of the end zone on the next play to cut Houston's lead to 21-17.
Ryan Moats' 2-yard run early in the third quarter stretched Houston's lead to 21-10.
After an ugly first quarter, the Texans got on track in the second, and Matt Schaub found Johnson for a 43-yard touchdown pass to make it 10-7.
Danieal Manning fumbled the kickoff and Brown recovered, giving Houston the ball on the Chicago 38.
"I was trying to make a play," Manning said. "You don't want to be out there running around. I just fumbled the ball. Bad ball security."
Johnson's second touchdown, which he snatched out of the hands of a defender, put the Texans ahead 14-10 at halftime.
"For us to win the way we did I think it was impressive," Texans owner Bob McNair said. "Especially after the way we started ... they really got after it and turned the game around. It was just a tremendous victory for us."
Brandon Lloyd gave the Bears an early lead when he scored on a 4-yard pass with about six minutes left in the first quarter.
Tillman forced a fumble by Slaton on the ensuing drive and the Bears pushed the lead to 10-0 with a 37-yard field goal by Robbie Gould.
"We lost the game. We're not in the playoffs," Tillman said. "Our season is over. They wanted it a little bit more than us."
Houston struggled in the first quarter, facing a third-and-34 at one point after an intentional grounding penalty on Schaub.
Schaub finished 27-of-36 for 328 yards and two touchdowns.
Manning started at strong safety in place of Mike Brown, who was placed on the injured reserve Friday. ... Moats' touchdown was his first since 2005 when he was with the Eagles. ... Brown's fumble recovery was the second of his career.