GREEN BAY — All eyes were on Aaron Rodgers and the Packers’ starting offense Friday night against the San Francisco 49ers and for good reason.

In what may be his lone preseason appearance, Rodgers directed the offense for the opening two series of the Packers’ 21-10 win over the 49ers, completing 6-of-9 passes for 60 yards with his final throw resulting in a 6-yard touchdown pass to Randall Cobb.

As much attention as Rodgers drew, the performance of rookie quarterback Joe Callahan and the second-team offense ultimately is what allowed the Packers to leave Levi’s Stadium with their third victory of the exhibition season.

Callahan, who’s received a majority of the second-team reps with Brett Hundley nursing an ankle injury, put together his best showing of the preseason against the 49ers in completing 16-of-24 passes for 167 yards and a touchdown in two-plus quarters.

He also was responsible for what Packers Head Coach Mike McCarthy called the “play of the night” when he rolled right out of a collapsing pocket and heaved a 51-yard completion to undrafted rookie Geronimo Allison to convert on third-and-20.

“We didn’t draw it up like that originally, but we practice the scramble drill every week,” Callahan said. “So you have an idea of where the people are going to be when the play breaks down and ‘G-Mo’ was in the right spot.”

On the next play, rookie running back Brandon Burks ran in for a 19-yard touchdown to give Green Bay a 21-10 lead with 9:17 left in the game.

Callahan, a former standout at Division III Wesley College, displayed his arm strength and deep accuracy near the end of the first half when he rolled left and threw a 40-yard pass to receiver Davante Adams.

While Adams wasn’t able to bring in the catch, Rodgers called the pass “one of the sweetest throws” he’s seen. The series continued and likely would’ve resulted in a field goal if the Packers hadn’t gone for it on fourth-and-goal from the San Francisco 5-yard line.

Overall, the Packers dominated time of possession (39:29-20:31) and total yards (349-195) with 230 yards coming after Rodgers exited following the first quarter.

“It’s fun to see him progress,” said Rodgers of Callahan. “He’s constantly making improvements with his fundamentals. He’s a gamer. He goes out there and makes plays.”

Running to daylight: Eddie Lacy and the starting offensive line continued to build upon their early momentum in the run game against the 49ers.

Lacy had seven carries for 45 yards in two series of work with veteran James Starks adding another 22 yards to set the tone for a Packers’ offense that racked up 148 rushing yards against the 49ers.

The Packers, who vowed to run the ball better this offseason, rank third with 148.0 rushing yards per game this preseason.

Individually, Lacy has 20 carries for 114 yards and a touchdown, which is the sixth-most production by an NFL running back this preseason.

“Offensive line is doing an amazing job,” Lacy said. “Tight ends, receivers, everybody’s doing a great job of blocking their man. They’re getting off the ball, pushing them off the ball and giving the running backs a place to go, and we’ve definitely been taking advantage of those holes that we’ve been given.”

Happy birthday: Lerentee McCray was starting to grow a little impatient in waiting for his first sack as a member of the Packers.

Fittingly, it finally came on the same night he was celebrating his 26th birthday.

McCray, who spent the past three seasons in Denver, got the sack he desired in the third quarter when he wrapped up 49ers quarterback Jeff Driskel for an 8-yard loss to key a three-and-out for the Packers’ defense.

“I had instincts and felt it was going to be a play-action, a short drop,” McCray said. “I’ve been working all preseason to get one and I finally got one. It’s definitely rewarding.”

In the club: Rookie second-round pick Jason Spriggs played the second half with a club on his right hand after injuring a finger in the first half.

He joined fellow rookie Patrick Lucas as one of two Green Bay offensive linemen who have played with a club this preseason.

“We tried to put one cast on the two fingers to keep them together and it was bending a little too much, so we ended up going with the full club,” Spriggs said. “You know people are going to attack it when you have that club out there, so you have to realize what’s going to happen and sit on the inside.”