GREEN BAY, Wis. -- Aaron Rodgers missed a few more throws than he usually does, and even threw an interception with the game still in doubt.
He just wasn't at his best against the Tampa Bay Buccaneers on Sunday -- until he absolutely had to be.
With the Packers clinging to a two-point lead and trying to fend off a late rally, Rodgers threw a 40-yard touchdown to Jordy Nelson with 2:55 left and the Packers survived a scare from the Buccaneers for a 35-26 victory.
With a 10-0 record going into a Thanksgiving Day game at Detroit, the Packers remain perfect, even if their quarterback walked away expecting much more from himself. Rodgers threw for 299 yards with three touchdowns, including a pair to Nelson, but wasn't happy with the way he played.
"I'm just frustrated," Rodgers said. "I didn't throw the ball very well. I'm not trying to be ridiculously humble right now, I'm just frustrated. The ball wasn't coming out the way I wanted it to today."
The Packers' defense also had trouble stopping quarterback Josh Freeman and tackling running back LeGarrette Blount, giving Packers coach Mike McCarthy plenty of mistakes to point out going into what will be a much-hyped matchup with the Lions.
"I think it was great for us," McCarthy said. "Adversity is awesome. We're getting ready to play a big game on national TV on Thanksgiving, and adversity (offers) healthy situations to learn from. Especially when you overcome it."
Freeman threw for 342 yards with two touchdowns and two interceptions for the Buccaneers (4-6), who have lost four straight but didn't back down against the reigning Super Bowl champions.
Blount had 107 yards rushing for Tampa Bay, including a rambling 54-yard touchdown run in the second quarter where he broke at least six tackles.
Tampa Bay was penalized nine times for 55 yards, but Buccaneers coach Raheem Morris wasn't using it as an excuse.
"Penalties are what they are, they are judgment calls and the judgment went against us a lot of times," Morris said. "It is what it is"
Tight end Tom Crabtree caught a touchdown from Rodgers and John Kuhn added a touchdown rushing from Green Bay. The Packers got their first score of the afternoon on a run by 337-pound defensive lineman B.J. Raji.
"He's low to the ground," McCarthy said. "I wouldn't want to tackle him."
The Buccaneers trailed by only four points and seemed to have some momentum when they tried a surprise onside kick before halftime. After a replay review gave the ball to Green Bay at the Tampa Bay 38-yard line, Rodgers drove for a 5-yard touchdown to Nelson that gave the Packers a 21-10 lead.
Tampa Bay then had a touchdown taken off the board in the third quarter when Kellen Winslow was called for offensive pass interference. The Buccaneers settled for a 32-yard field goal by Connor Barth.
"I really felt we made enough to plays to beat those guys," Winslow said. "It is hard to win when you put the game in the refs' hands."
The Buccaneers' defense got a stop, and Freeman directed an eight-play, 91-yard scoring drive that ended with a 9-yard touchdown pass to Mike Williams.
Tampa Bay tried to tie it with a 2-point conversion, but Winslow -- who had a pair of big gains on the drive -- dropped a catchable ball in the end zone.
Packers running back James Starks did the majority of the work in an eight-play, 85-yard scoring drive that ended with a 2-yard touchdown run by Kuhn.
But the Buccaneers got another chance when Rodgers threw an interception to Elbert Mack -- only Rodgers' fourth pick this season -- and Freeman threw a 37-yard pass to Arrelious Benn to set up first-and-goal at the 2.
Freeman then threw a touchdown to Dezmon Briscoe and the Buccaneers kicked the extra point to cut the Packers' lead to 28-26 with 4:25 left.
Tampa Bay tried another onside kick, but the Packers recovered and Rodgers found Nelson to put the game away.
Morris knew he might get second-guessed for the onside kicks but wasn't apologizing.
"We wanted to get the ball and win," Morris said. "We are not going to apologize for being aggressive. When you play the Green Bay Packers, you got to play aggressive, you got to go out and make plays. (You've) got to steal possessions."
McCarthy said Starks sprained his knee during Sunday's game, and his availability this week is unclear. ... A late interception gave the Packers' Mason Crosby a shot at a 29-yard field goal, but Crosby hit the right upright, his first miss of the season. ... Packers punter Tim Masthay turned a broken play into a first down in the first quarter, despite fumbling twice on the play. "Tim's got to hold onto that football," Rodgers said, smiling. "That was pretty funny."