GREEN BAY, Wis. -- Aaron Rodgers topped off a sharp performance with a 20-yard touchdown pass to Greg Jennings and the Super Bowl champion Green Bay Packers beat the Arizona Cardinals 28-20 in a preseason game on Friday night.
Rodgers played into the second quarter, completing 9 of 12 passes for 97 yards and the touchdown. Matt Flynn took over for Rodgers and led the Packers to another touchdown before halftime, a 2-yard run by rookie Alex Green.
It was a rough night for Cardinals rookie running back Ryan Williams, who was carted off the field after a right knee injury early in the third. A Packers player appeared to land awkwardly on the right leg of Williams, a second-round pick out of Virginia Tech.
Cardinals quarterback Kevin Kolb was 6 for 11 for 80 yards but the rest of the Cardinals offense didn't look ready for the regular season. Arizona was called for nine penalties in the first half, including several sloppy mistakes on offense.
Packers defensive lineman C.J. Wilson was taken to the locker room for concussion testing in the first half.
Arizona backup quarterback John Skelton sprained his right ankle, bringing Richard Bartel into the game. Bartel threw a 7-yard touchdown pass to Stephen Williams and Alfonso Smith added a 1-yard touchdown run to give the Cardinals the lead in the third quarter.
But Flynn threw a 97-yard touchdown to Chastin West on the first play of the fourth quarter, putting the Packers back ahead 21-20. Third-stringer Graham Harrell threw a 6-yard touchdown to Kerry Taylor in the fourth quarter.
Green Bay's Brandian Ross picked off a pass in the end zone to stop a late drive by the Cardinals.
The Packers were able to put up points, but their offensive line still needs some tuning up.
Rodgers was sacked twice, including one allowed by Derek Sherrod, the team's first-round draft pick. Sherrod played tackle at Mississippi State but is competing with veteran T.J. Lang for the starting left guard spot in training camp. The Packers are searching for a replacement for veteran Daryn Colledge - who lined up on the other side Friday after signing with the Cardinals as a free agent.
"We had too many penalties and just a couple of conversions that we didn't pick up," Rodgers said, in comments distributed by the team after halftime. "But the third drive felt good."
It was a return to the field for Packers playmaking tight end Jermichael Finley, who missed out on last season's Super Bowl run because of a knee injury. Finley caught four passes in the first half - including three straight receptions at one point.
"It felt great to get back out there with the offense and get things rolling, and that's what we did," Finley said.
Kolb, who arrived in a high-profile trade with Philadelphia, is still working to master a new offense.
"I felt a lot more comfortable," Kolb said. "I thought our tempo was great, and obviously we moved the ball whenever we wanted to. We just have to get better in the red zone and cut down on some of the penalties."
The Packers knocked Kolb out of the game in last year's regular season opener, opening the door for Michael Vick to take over as the starter in Philadelphia - and, ultimately, for Kolb to be traded to the Cardinals.
The Packers played Friday without Clay Matthews, who has a hamstring injury, and defensive end Mike Neal, who has a knee injury. Neither injury is expected to be long-term.
Packers rookie WR Randall Cobb left the game with a left knee bruise in the second half. ... Larry Fitzgerald made an impressive one-handed catch in the first half, pulling the ball into his shoulderpads with his right hand as he was falling down. ... Green, a third-round rookie out of Hawaii, apparently still needs an education on Packers traditions. Teammates had to point him toward the stands to perform a "Lambeau Leap" celebration after his touchdown.