San Francisco starting quarterback Alex Smith did not play in the game, but the 49ers still received plenty of production from the two backups.
Kaepernick opened the game and threw for 158 yards, including scoring throws of 32 yards to Delanie Walker in the first period and 12 yards to A.J. Jenkins in the second.
Johnson came on in the second half and connected on touchdown passes to Nathan Palmer for 51 yards and Garrett Celek for 3 yards. Johnson completed all six passes he threw.
San Francisco ran up a 35-0 lead before the Chargers could score.
No. 1 quarterback Philip Rivers saw limited action for San Diego and was good on 8-of-10 passes for 89 yards.
The 49ers finished the preseason at 3-1 and will travel to Green Bay for their opening game. San Diego had won its first three exhibition contests and missed a chance to join the Philadelphia Eagles and Seattle Seahawks as the only unbeaten clubs in the league. The Chargers will begin their season at Oakland.
Texas principal bans speaking Spanish, stirs controversy
Exploding whale video goes viral on Internet