HOUSTON — Brian Hoyer made the most of his limited opportunity Saturday night.
Hoyer threw a 58-yard touchdown pass to Cecil Shorts III on Houston's first drive in the Texans' 23-10 victory over the San Francisco 49ers in the preseason opener for both teams.
Competing with Ryan Mallett for the starting job, Hoyer also connected with DeAndre Hopkins for a 2-point conversion to give the Texans an 8-0 lead.
But Texans coach Bill O'Brien wouldn't provide any details on how the competition was shaping up, but did say that Mallett will start the next game.
"They were consistent, the calls were made properly," coach Bill O'Brien said. "We had a few things here and there, but as far as operation of the offense for the first game out, I thought they did a decent job."
Hoyer, who signed with Houston in the offseason after starting for Cleveland most of last year, finished 2 for 4 for 67 yards.
"It was more just a new fresh start for me and you want to go out and put your best foot forward, so I think it was just that for me," he said.
Mallett completed his first eight passes and was 10 of 11 for 90 yards, but the Texans didn't score on any of his four possessions.
"I felt good," Mallett said. "We were moving the ball. We knew what we were doing ... we've just got to improve on that and get better for next week."
Colin Kaepernick failed to move the offense on his only drive, going 1 for 3 for 14 yards before a punt.
Mallett took over for Houston's second drive and moved the Texans down to the 1 before the offense stalled. Houston had eight chances to score after that thanks to a pass interference call, but couldn't convert.
"You've got to score points there," Mallett said.
Blaine Gabbert was 8 of 11 for 86 yards and a touchdown for San Francisco.
Former Australian professional rugby player Jarryd Hayne, who was playing in his first NFL game, had a 53-yard run early in the second quarter. Hayne, who was signed as an undrafted free agent in March, burst through the line before juking a defender and dashing to the 13.
"He can play in space," San Francisco coach Jim Tomsula said. "He's a premier athlete in the world in space."
Gabbert found Garrett Celek two plays later on a 10-yard touchdown pass to make it 8-7.
Jaelen Strong, a rookie third-round pick, caught a 10-yard touchdown pass from Tom Savage to give Houston a 15-10 lead early in the third quarter.
Texans linebacker Jason Ankrah sacked rookie Dylan Thompson in the end zone for a safety to extend the lead to 17-10 later in the third.
Houston's Alfred Blue had nine carries for 59 yards, highlighted by a 32-yard trot in the first quarter. He'll likely start for the Texans with Arian Foster out indefinitely after groin surgery last week.
Randy Bullock added two 41-yard field goals for Houston in the fourth quarter.
ROOTING FOR HAYNE
San Francisco coach Jim Tomsula was impressed with Hayne, but admitted it will be tough for him to make the team.
"He absolutely has to battle to make the roster," Tomsula said. "I hope I am presenting a very tempered approach to what happened tonight with Jarryd. There were things that happened tonight, and we have a long way to go. But the thing that excites me is the type of person that he is."
But he hopes he can show him enough this preseason to make the cut.
"You get into a situation where you are rooting for guys," Tomsula said.
Both teams held several key veterans out to get a chance to look at younger players. Star defensive end J.J. Watt, first-year Texan Vince Wilfork and cornerback Johnathan Joseph dressed but did not play. For San Francisco, tight end Vernon Davis and defensive tackle Darnell Dockett sat out.
Houston outside linebacker Jadeveon Clowney, the top overall pick in the 2014 draft, didn't play on Saturday night as he continues his recovery from December microfracture surgery. But he could see action soon. O'Brien said he expects him to practice for the first time on Monday. "It won't be a full practice, but he'll be out there," O'Brien said. Clowney played just four games in an injury-plagued rookie season.
49ers: Linebacker NaVorro Bowman didn't play after Tomsula saying earlier this week that he might. Bowman, who hasn't played since injuring his left knee in the NFC title game in January 2014, is expected to play next week. ... Linebacker Desmond Bishop strained his calf, but Tomsula didn't have any other details of the injury.