HOUSTON (AP) -- Sage Rosenfels always believed he could be a starter in the NFL.
On Sunday he proved his case.
Rosenfels lost two fumbles, but Tampa Bay (8-5) was only able to convert one into points.
"Sage has the desire and the goal to be a starter in this league," coach Gary Kubiak said. "He's always taken advantage of opportunities. ... he took a big step forward in his career today."
Rosenfels had started just two games in his seven-year career before this season.
"As a backup, you know sooner or later you're going to get a chance and you just have to make the most of it," he said. "I personally feel I am good enough to start in this league. But that's not something I can control."
The Buccaneers could have secured the NFC South title with a win, but instead their four-game winning streak ended because of miscues and ineffectiveness.
"Four-game win streak or one-game win streak, it really doesn't matter," defensive end Gaines Adams said. "We just didn't get it done. Everything we did today was unacceptable."
They started Luke McCown as Jeff Garcia missed his second straight game with a bruised back. McCown had a big game last week in a win over New Orleans, but was sacked four times and harassed for most of the day in this one.
"We got to do a better job, taking care of the football, finishing drives and a lot of things go into this game," McCown said. "If we would have done that the outcome would have been different."
He was 25-of-38 for 266 yards with no touchdowns and a fumble.
"Luke has got to get rid of the football," coach Jon Gruden said. "There were some times when he needed to throw the ball away. Sometimes that's the best play you can make."
Mario Williams was in McCown's face often in this one and sacked him late in the fourth quarter to push his sack total to 9½ this season.
Rosenfels had two touchdown passes of 4 yards and one for 8, and Andre' Davis added a score on a 97-yard kickoff return. The quarterback finished 27-of-36 for 209 yards.
In the third quarter, Greg White sacked Rosenfels for the third time, forcing his second fumble. It was recovered by Jovan Haye, but the Buccaneers weren't able to convert when McCown couldn't handle the snap three plays later.
Already playing with a backup left guard and quarterback, the Texans relied on undrafted rookie running back Darius Walker for most of the game with Ron Dayne struggling with a tender ankle after the first drive. It was Walker's first NFL action; he finished with 46 yards rushing and 35 yards receiving.
"He went in there and it was nothing spectacular, but he was very solid," Kubiak said of Walker. "I'm proud of the kid. It's a step forward."
Davis returned the opening kickoff of the second half for a touchdown to push Houston's lead to 21-7. He tight-roped his way down the sideline for his first kickoff return for a touchdown since going 95 yards in 2002 against Houston when he was with the Browns.
It also marked the Texans' first touchdown in the third quarter since Week 2 at Carolina.
Earnest Graham shook off two would-be tacklers for an 11-yard touchdown that made it 21-14, one play after Graham barreled 20 yards.
Andre Johnson scored his sixth touchdown of the season on a 4-yard pass from Rosenfels for a 7-0 lead in the first quarter. Johnson finished with nine receptions for 82 yards. The drive started on the Houston 34 after a failed fourth-down attempt by the Buccaneers.
Tampa Bay tied it at 7 on a 4-yard run by Graham in the second quarter, marking his fifth consecutive game with a touchdown, tying a team record. His touchdown came after White sacked Rosenfels and slapped the ball away from him. Haye recovered on the Houston 25.
Gruden said Garcia should return next week. ... Gruden said Hilliard is "beat up" and he is unsure of his availability for next week. ... Right guard Chester Pitts' streak of 770 consecutive plays was broken when he was shaken up in the third quarter and missed two plays.