SAN DIEGO -- Even when the Houston Texans fell behind by three touchdowns on the road in the second half of their season opener, Matt Schaub and Andre Johnson remained confident they could roar right back.

Sure, the San Diego Chargers were off to a solid start for their new coach.

The veteran Texans know how to finish.

Randy Bullock kicked a 41-yard field goal as time expired, and Houston rallied from a 21-point deficit in the second half for a 31-28 victory over the Chargers on Monday night.

"Once you put a score on the board, then another, and the defense gets a stop, the big turnover, it just builds," said Schaub, who bounced back from an interception on Houston's first play to pass for 346 yards. "Momentum keeps building, and you can feel that energy, and it's contagious."

Brian Cushing returned an interception 18 yards for the tying touchdown with 9:30 to play for the Texans, who erased a 28-7 deficit late in the third quarter to spoil the debut of Chargers coach Mike McCoy.

After two straight division titles and playoff trips, the Texans have ample experience in handling trouble together. Schaub provided steady leadership, and their vaunted defense held San Diego to 90 yards -- just 7 on the ground -- in the second half.

"There was no doubt in my mind that we were going to win that game," said Johnson, who had 12 catches for 146 yards. "Even in the third quarter, we didn't come out playing that great, but we got it together and made it happen."

While the Chargers showed promise, the Texans began a season of Super Bowl aspirations with a gritty comeback befitting a defending two-time AFC South champion club that got off to an 11-1 start last season.

Schaub recovered from that tipped interception on the first play to throw three TD passes -- two to tight end Owen Daniels -- in the final game of the NFL's opening weekend.

Philip Rivers threw four touchdown passes in a tantalizing start for the Chargers under McCoy, the offensive guru hired to revitalize a stagnant franchise. San Diego led 7-0 just 15 seconds in with a TD pass in its first play.

But Houston's veteran toughness took over: The Texans' powerful defense shut out San Diego over the final 25 minutes, and Schaub engineered the final 36-yard drive to set up Bullock, who coolly nailed his first NFL field goal.

"I expected us to be in a dogfight," Houston coach Gary Kubiak said. "I'm disappointed with the way we played early, but we did not give up. ... We were mature enough to hang in there and get the win, so we have to be mature enough to know that we didn't play very well."

San Diego's fans got a taste of McCoy's inventive offense -- and they got an agonizing reminder of last season under fired coach Norv Turner, when the Chargers blew five halftime leads. In last year's lowlight, San Diego blew a 24-0 halftime lead in its last Monday night game against McCoy's Broncos last October.

"You lose this way, and it stings a little more," Rivers said. "It's disappointing we didn't finish the game, because we had control. You've got to play all four quarters."

Ryan Mathews caught a 14-yard TD pass on San Diego's first snap, while Eddie Royal made two TD catches and Vincent Brown had another for the Chargers during an auspicious start in the first three quarters for McCoy.

"The effort was there," McCoy said. "They did a nice job. We just didn't finish it. It comes down to not finishing a football game."

Cushing came up big in his first game since missing most of last season with a knee injury and then signing a six-year, $55.6 million extension last week. Rivers' under-pressure throw was snagged by Cushing, who got up from his diving catch and rumbled into the end zone.

Schaub finally got the Texans in position for Bullock, a fifth-round draft pick last year who missed all of his first season with a groin injury.

The former Lou Groza Award winner at Texas A&M didn't miss, celebrating the kick with his new teammates and a vocal bunch of red-jerseyed fans who took over the sections behind Houston's bench.

Schaub's first pass was tipped into the air by Jarret Johnson, and 330-pound defensive tackle Cam Thomas gathered it in. The San Diego crowd was still cheering when Rivers threw down the Houston sideline to Mathews, who dived in for a score.

"We've just got to keep the pedal down," Mathews said. "You can see we can put up points, and our defense is looking great."

After Brown made a spectacular diving play for a touchdown with 26 seconds left in the first half, Rivers went right back to work after halftime, moving the Chargers 80 yards for a short scoring pass to Royal and a 28-7 lead. The Texans finally responded with a long drive capped by Garrett Graham's TD catch.

Houston got another boost early in the fourth quarter when Thomas got a 10-yard penalty during a field-goal attempt for unnecessary roughness against Houston's center, giving a first down to the Texans on a new rule for this season. Daniels caught his second TD pass on the next play from 9 yards on the next snap, cutting San Diego's lead to seven points with 14:44 to play.