But then came Josh Johnson in relief Thursday night, and he delivered what coach Jim Harbaugh termed "a heck of a game" in the 49ers' eventual 40-13 win over the Houston Texans in the exhibition finale.

Will it be enough for Johnson to survive Saturday's cuts and make the 53-man roster, if not unseat Gabbert as the No. 2 quarterback?

Harbaugh declined to state how the backup order will shake out. But the coach wants to keep both Gabbert and Johnson behind Kaepernick, noting the 49ers carried three quarterbacks in the past, even if they played the final eight games last season with just Kaepernick and Colt McCoy.

Said Johnson: "I don't put the roster together. I don't determine the depth chart. All I determine is my performance, and I felt like I was able to make a strong case to be on this team."

Johnson was 14 of 17 for 135 yards with three touchdown passes, including one on his first snap, a 13-yard throw to Bruce Ellington just before halftime. Johnson did have a pass intercepted and returned for a touchdown, after wideout L'Damian Washington tipped it to cornerback Andre Hal.

Advertisement

Gabbert got the surprise start after Harbaugh decided Wednesday to let Kaepernick and almost all other starters treat this as a bye before the Sept. 7 regular-season opener, just up Interstate 45 against the Dallas Cowboys.

Gabbert was 4 of 11 passing for 60 yards, but it was his touchdown-pass finish that had Harbaugh jazzed. Gabbert's throwing shoulder got hurt on a hit by Julius Warmsley, but Gabbert stayed in the game and promptly threw a 14-yard touchdown pass to Asante Cleveland.

"Blaine got hit on the shoulder there, pretty good thump," Harbaugh said. "To come back in and fire a perfect pass, one foot in front of the numbers, and Asante made a great play on it."

Gabbert said his throwing shoulder is "fine," even though he wasn't sure what postgame X-rays officially revealed. Gabbert played through the pain by relying on adrenaline and motivation to produce a touchdown drive.

Gabbert said of his overall performance: "Some ups and downs. We were in a little rut early in the game. But as we became more consistent we started moving the ball down the field. It was nice to finish that last drive off with a touchdown."

While Gabbert's grasp on the No. 2 job could be best tied to his $2 million guaranteed salary, Thursday's show stirred reminders of his struggles in the first two exhibitions, not to mention his former tenure with the Jacksonville Jaguars.

Gabbert was 1 of 6 for 11 yards before throwing into double coverage and finding Derek Carrier for a 32-yard completion. His overall exhibition stats: 22 of 47 for 186 yards, two touchdowns, two interceptions and a 54.0 passer rating.

Johnson hopes this exhibition finale wins him the roster spot that his 2012 performance somehow couldn't, when he lost out on the No. 3 job to Scott Tolzien.

"It was really tough, to be quite honest," Johnson said in reflecting on his 2012 release. "It was a lot of different emotions. I looked at myself, 'What happened?' A lot went into it. There were things I felt I could have done and didn't do.

"I made the determination to do everything I can on my behalf. As long as I can walk with my head high and not live with any regrets, that's the best I can do for myself, and I feel I've done that. I hope coaches keep taking notice of that."

General manager Trent Baalke expects the NFL to announce potential discipline of linebacker Aldon Smith before Saturday, when teams must trim their roster to the 53-man limit. Smith would not count against that roster if he's suspended for the start of the season, freeing up a spot for another player. Smith met with NFL commissioner Roger Goodell three weeks ago.

Rookie linebacker Chris Borland undercut a route on a 34-yard interception return for a third-quarter touchdown. "It was a little bit of a risk, but it paid off," Borland said of his first touchdown since an Ohio state championship game his senior year of high school.

Long snapper and tight end Kyle Nelson and special-teams ace Kassim Osgood received celebratory game balls from Harbaugh afterward. Nelson had two touchdown catches; Osgood blocked a fourth-quarter punt that resulted in a safety.

"It's good to go out with a bang and make any play I can to get on the 53-man roster," said Osgood, a 12th-year veteran who got cut for salary purposes before last season but re-signed in Week 2.

Kaepernick's exhibition season consisted of seven series, only two of which resulted in scoring drives (two field goals). He had a 69.3 rating on 12-of-22 passing for 115 yards with no touchdowns or interceptions.

Draft picks Dontae Johnson (fourth round) and Kenneth Acker (sixth round) likely have played their way onto the cornerback unit. That could jeopardize a spot for Chris Cook, a fifth-year veteran who started Thursday opposite Darryl Morris.

Cook made an interception 42 seconds before halftime. Neither Johnson nor Acker is expected to go unclaimed if the 49ers waive them in hopes of re-signing them to the 10-man practice squad Sunday.

Center Daniel Kilgore, right guard Joe Looney and nose tackle Ian Williams were the only probable opening-day starters who played against the Texans.

Tight end Carrier aggravated a hamstring injury and didn't play after halftime.

Stevie Johnson had no receptions Thursday and caught just 2 of 7 passes targeted for him (for 11 yards) in the exhibition season. He was acquired in a draft-day trade and has figured to at least rotate as the No. 3 wideout this season.

Veteran wideout Brandon Lloyd did not play for the third time in four exhibitions, because of an undisclosed injury. Harbaugh said Lloyd looked great in warm-ups and that Lloyd said he wasn't healthy enough to play in the game.

Looney moved from right guard to center in the second quarter. Former backup center Marcus Martin is expected to be out two months after injuring his left knee Sunday.