SANTA CLARA, Calif. -- Aaron Rodgers made the most of his only appearance of the preseason, throwing a touchdown pass to Randall Cobb in the Green Bay Packers' 21-10 victory over the San Francisco 49ers on Friday night.
Colin Kaepernick did not fare as well as he looked extremely rusty in his first game action since last November. He completed 2 of 6 passes and generated one first down on three drives.
Rodgers was held out of the first two preseason games despite being healthy and won't play the exhibition finale next week; the veteran quarterback needs little game work to get ready for the regular season.
Rodgers played two drives against the 49ers, going 6 for 9 for 60 yards.
After the first drive stalled because of penalties, Rodgers looked sharp the next time Green Bay got the ball. He moved around easily in the pocket and drew a 12-men-on-the-field penalty when he operated out of the hurry-up offense.
That play helped extend a 14-play, 87-yard drive capped when Rodgers threw a quick pass to Cobb, who juked Chris Davis and got into the end zone for a 6-yard score.
Despite Kaepernick returning after sitting the first two games with a tired shoulder, Blaine Gabbert once again got the start. He appears to have the inside track for that role when the season starts.
After a three-and-out on the opening drive, Gabbert led the Niners to a score on his final series. He had a nice run and two short completions before Carlos Hyde busted a 27-yard run. Quinton Patton then took a lateral from Gabbert and scampered into the end zone on a 3-yard run.
Kaepernick entered to applause on the next series, but did little to show he deserves the starting job. He was quick to leave the pocket when his first option was covered, and three of his passes were broken up by defenders. He finished 2 for 6 for 14 yards and added 18 yards on four runs.
Packers: Joe Callahan, an undrafted rookie out of Division III Wesley College, replaced Rodgers in the second quarter with backup Brett Hundley out with an ankle injury. Callahan went 16 for 24 yards for 167 yards with an 18-yard TD pass to Jared Abbrederis.
49ers: First-round draft pick Joshua Garnett did not start but came in after two series to get time with the first-team at left guard.
49ers: Anthony Davis, a former starter at right tackle, played right guard in a game for the first time since college. Davis sat out last year in a temporary retirement before returning to the team this summer. With Trent Brown entrenched at right tackle, Davis is trying to get back into the lineup at guard.
---AP NFL website: www.pro32.ap.org and http://twitter.com/AP-NFL