The reigning conference champion Eagles (5-6) snapped a four-game losing streak with their first win since Oct. 23 against San Diego.
"We didn't have a great offensive effort, but we found a way to win," said McMahon, who started his second straight game for the injured McNabb.
Samkon Gado ran for 111 yards and one touchdown for the Packers.
Green Bay (2-9) assured its first losing season since Brett Favre took over as starter in 1992, a run of 13 years that was the best in the league.
"We had a chance to win the game, but we find ways to let it slip away," Favre said. "We've had a chance to win every game, but we've won only two of them."
Playing without four players who went to the Pro Bowl last season -- Owens, McNabb, cornerback Lito Sheppard and left tackle Tra Thomas -- the Eagles hardly resembled the team that went to the last four NFC Championship Games and lost the Super Bowl 9½ months ago.
McMahon completed 12-of-28 passes for 91 yards and ran for 29 yards. He led a 12-play, 60-yard drive that lasted 6:10 and ended with Akers' 37-yard field goal that put the Eagles ahead 16-14 with 4:31 left.
"It's not always pretty, but it's nice to get a win," said Akers, a three-time Pro Bowl selection who missed four games and parts of two others with a hamstring injury this season.
After Andrae Thurman fumbled the ensuing kickoff, Akers made a 33-yarder.
McNabb decided earlier in the week to have season-ending surgery for a sports hernia. Sheppard (ankle) and Thomas (back) also need operations.
Owens was suspended four games and told not to return to the team on Nov. 7 following a series of incidents, including saying the Eagles would be better off with Favre instead of McNabb.
Favre misfired on nine of his first 10 passes and finished 15-of-33 for 171 yards, one TD and two interceptions.
After falling behind 10-0, Green Bay took just three plays to cut the deficit. Favre completed a 23-yard pass to Donald Driver,
Gado ran 18 yards and scored on a 33-yard run. Gado broke a tackle at the line, spun completely around Brian Dawkins and ran in for his fourth TD in five games.
The Packers went ahead 14-10 on Favre's 13-yard TD pass to David Martin with 35 seconds left in the half.
"When you turn the ball over as many times [five] as we did, I don't care if we're the '96 Super Bowl team, you can't turn the ball over to the degree we did and expect to win," Packers coach Mike Sherman said.
Westbrook ran up the middle, cut back near the 20 and sprinted untouched into the corner of the end zone. He finished with 117 yards rushing.
"Our left side collapsed their defensive right side and I was able to cut back," Westbrook said.
Akers made a 38-yarder to cut it to 14-13 in the third quarter. Westbrook ran 22 yards to the Packers' 24 on a fourth-and-1, but the drive stalled.
Favre tossed his 18th interception of the season when safety Michael Lewis picked off his pass in the end zone in the second quarter. He has 19 TDs and 19 picks this season.
The Eagles completely dominated the Packers in their previous meeting, racking up 542 yards in a 47-17 victory here last Dec. 5. The Eagles beat the Packers 20-17 in an overtime playoff game at Lincoln Financial Field in January 2004. In that game, McNabb completed a 28-yard pass to Freddie Mitchell on fourth-and-26 in the final minutes, setting up a tying field goal.
The Eagles and Packers have combined to win seven division titles over the past four seasons. They have a total of seven victories combined this year.
Packers tight end Bubba Franks was carried out on a stretcher and went to a hospital for X-rays on his neck. He will be kept overnight for precautionary reasons. ... Gado lost a fumble after a catch in the third quarter. He had three fumbles in his previous two games, but the Packers recovered each one. ... The Eagles are 7-0 against the NFC North since the divisions realigned in 2002. ... Philadelphia is just 2-5 in the conference. ... Rookie running back Ryan Moats, inactive for nine of the first 10 games, ran for 24 yards on six carries.
After Sunday's 23-20 loss to Washington dropped the Eagles to 1-3, running back DeMarco Murray was asked if he's getting the ball enough, to which he replied, "I don't think I am."
A defiant Rex Ryan defended the Bills after their 24-10 loss to the Giants, pounding the podium as he commended his players for their "fight" despite the flurry of penalties against Buffalo.
Dolphins coach Joe Philbin isn't worried about his job security after meeting with owner Stephen Ross following the team's third straight loss on Sunday.
Panthers cornerback Josh Norman thought he had the league's approval to use his giddy-up celebration after scoring a touchdown, but he was penalized after returning an interception on Sunday.
Colts kicker Adam Vinatieri on Sunday became the first player to score 1,000 points with two teams, in a game in which he also kicked his team to a 16-13 victory in overtime.
The Seahawks have ruled Marshawn Lynch out for Monday's game against the Lions with a hamstring injury. Undrafted rookie Thomas Rawls is expected to get the bulk of the carries against Detroit.