Texans QB Matt Schaub threw for 290 yards and four touchdowns at Denver Sunday. (US Presswire)

The Texans built a 31-11 lead after three quarters in Denver and held on for a 31-25 win in their toughest test so far this season. QB Matt Schaub outdueled Peyton Manning, throwing for 290 yards and four touchdowns with one interception. Schaub showed great toughness bouncing back from two consecutive hits that drew roughing the passer penalties, the last of which took a chunk out of Schaub’s ear. After Sunday’s performance, there is little doubt the Texans are among the elite in the NFL.

Offense: B+

The only reason the offense was downgraded a bit was the two turnovers, which led to 10 points for the Broncos. After a safety on the first offensive play, Houston responded with three straight drives that ended in touchdowns. The Texans were able to move the ball on the ground (152 yards) and through the air (284 yards). Schaub completed 17 passes to eight different receivers.

Defense: B+

The defense played extremely well leading up to the fourth quarter. The Broncos had just one yard on their first three possessions of the second half, and Houston held Denver to 59 yards rushing, making the Broncos one-dimensional. DE J.J. Watt had another monster game. He had 2.5 of Houston’s three sacks on Manning and four tackles for loss. The Texans also had 12 passes defended.

Special teams: B-

There isn’t much room to complain about the kicking game. Shayne Graham made his only field goal attempt from 41 yards, and Donnie Jones averaged 54.2 yards per punt on five attempts. Trindon Holliday averaged just 4.8 yards per punt return and has not had the kind of impact in the return game that many expected after the preseason.

Coaching: A

The Texans quickly fell behind 5-0. However, they did not panic and were in firm control of the game by the middle of the second quarter. The coaching staff obviously did its job preparing the team, and if not for those two turnovers, the game did not feel as close as the final six-point margin.

Follow Texans blogger Sean Bielawski on Twitter, @CBSTexans.