SAN FRANCISCO -- Alex Smith took five snaps, handed off five times, and his night was over.Reserve quarterbacks Colin Kaepernick and Josh Johnson took over and the 49ers' offense had its most productive showing of the exhibition season.Kaepernick and Johnson threw two touchdown passes apiece in the 49ers' 35-3 victory over the San Diego Chargers in the final exhibition game for both teams Thursday night at Candlestick Park.It was the final tuneup for the 49ers, who open the regular season Sept. 9 at Lambeau Field against the Green Bay Packers.Kaepernick demonstrated the combination of running and passing that inspired the 49ers to trade up to select him in the second round of the 2011 draft.Kaepernick, who played all but the first five snaps of the first half, completed 12 of 18 passes for 156 yards and two touchdowns. Both touchdowns came on well-thrown balls on rollouts to either side.He rolled left and hit tight end Delanie Walker on a 31-yard touchdown pass in the first quarter. In the second quarter, he moved to his right and drilled a 12-yard touchdown pass to rookie A.J. Jenkins.Johnson was the fourth quarterback to enter the game after Smith, Kaepernick and Scott Tolzien.On his first attempt, Johnson threw a quick hitch to undrafted rookie Nathan Palmer, who outran everybody for a 51-yard touchdown down the left sideline. Later, Johnson found reserve tight end Garrett Celek on a 3-yard scoring pass.Tolzien did not help his cause with a series at the start of the fourth quarter. First, he underthrew a wide-open Chris Owusu, who came back for the ball and dropped it. Two plays later, Tolzien was intercepted by linebacker Bront Bird.Give me a break: Not one player on the 49ers' starting defense played in the game, including Ray McDonald, Isaac Sopoaga, Justin Smith, Aldon Smith, Ahmad Brooks, Patrick Willis, NaVorro Bowman, Tarell Brown, Carlos Rogers, Donte Whitner and Dashon Goldson.On offense, Frank Gore, Randy Moss, Michael Crabtree and Kyle Williams did not play.Four other players were unavailable: Receiver Ted Ginn (right ankle), tight enddefensive lineman Demarcus Dobbs (left calf), outside linebacker Parys Haralson (undisclosed) and receiver Mario Manningham, who attended his grandfather's funeral on Thursday.Two-way contributors: Dobbs has been a two-way player since the first day of camp. Last week, the 49ers used defensive lineman Will Tukuafu as a fullback. That continued on Thursday with Tukuafu seeing a lot of action at fullback.Tukuafu played seven snaps at fullback on the 49ers' opening drive. And he opened a hole through which Anthony Dixon rumbled for a 1-yard touchdown run.In the second half, linebacker Michael Wilhoite saw several snaps at fullback. Wilhoite is on the bubble for a spot on the 53-man roster.Return problems: Ginn is hobbled by an ankle sprain. The 49ers took no chances with Kyle Williams, who might be the team's primary punt-returner to open the season due to Ginn's injury.Rookie LaMichael James returned punts on Thursday, and he struggled catching the ball. He bobbled one punt before getting ahold of it. Later, he muffed two punts but recovered his own fumbles both times.Droppin' in: Palmer had a touchdown, but he also dropped two passes. And fellow undrafted rookie Chris Owusu, who could be battling Palmer for a spot on the practice squad, dropped two passes in the second half.