Two throws stood out: The 39-yard heave to wide receiver Jason Avant in the second quarter and the 11-yard touchdown pass to tight end Clay Harbor that started the Eagles' comeback.
On the first, Foles had to step up in the pocket when both Buccaneers defensive ends got around the tackles. Luckily for the quarterback, the Eagles interior line held its blocks, and Foles had room to eventually sidestep to his right. He kept his eyes downfield and hit a wide-open Avant down the sideline.
For the game, Foles was good on third down, completing 10 of 15 passes for 170 yards and the touchdown to Harbor. On the throw to Harbor, the pocket collapsed, and Foles once again dodged the pressure. It looked like he may have been able to run for the first down - or even score - but Foles fired a strike to Harbor in the back of the end zone just before he reached the line of scrimmage.
Foles' most important throw on the run was by design. He later explained that he asked Reid and Marty Mornhinweg for the play because he wanted his first read to be on the outside where there would be no obstruction to the passing lane.
Foles ran to his right after taking the snap in the shotgun and drilled a one-yard touchdown pass to Jeremy Maclin for the game-winner. He took 59 of 73 snaps from the shotgun. On the last two drives of the game, every play was from the shotgun except for one other and two spikes.
Foles played most of his college career from the shotgun. He'll likely need to work more of the drop into his repertoire. On throws of more than 20 yards, Foles completed 4 of 8 attempts for 92 yards. Not bad, but there were opportunities to hit a few big ones.
His worst moment came on the game-winning drive. The Eagles faced third down and five, and Foles tried to hit Marvin McNutt. The pass was behind the receiver, though, and Tampa Bay cornerback Anthony Gaitor dropped a ball that hit his hands.
If Foles had thrown a game-ending interception there, it is certain that many would feel differently about the rookie's future than they do today.
He did well against the blitz. The Buccaneers sent extra pass-rushers on 15 of his 60 drop backs, and Foles completed 9 of 15 passes for 115 yards. Foles was sacked six times and hit 13 times, according to the stat sheet, but he kept getting up.
The Buccaneers subpar pass defense aided Foles' cause, but he performed as well as one could expect playing behind a patchwork offensive line and with several other second stringers at skill positions.
Let's go to the tape
Upon closer examination, there was little Foles could do to avoid six sacks.
On the first, he may have held onto the ball a smidgen too long. Tampa defensive end Da'Quan Bowers got around King Dunlap and forced Foles up in the pocket. Defensive tackle Gerald McCoy broke loose from center Dallas Reynolds and cleaned up the sack.
Two series later, Foles had no shot to escape defensive end Michael Bennett, who had gotten past guard Jake Scott. Defensive end Aaron Morgan created the initial pressure when he got past Dunlap.
Dunlap, the Eagles left tackle, was solely responsible for the third sack when former Eagle Daniel Te'o-Nesheim cruised past him from the end spot.
On the fourth sack, McCoy gave Scott a swat, darted inside and sacked Foles less than two seconds after the snap.
The line did its job against a four-man rush in the third quarter, but Foles stepped up and couldn't shake Buccaneers linebacker Lavonte David, who dropped him for no gain.
Tampa's last sack came on the second play of the Eagles' game-winning drive. Foles had no chance when Bennett got around right tackle Dennis Kelly.
In the spotlight
Fletcher Cox was once again active and made some key stops at defensive tackle. He did struggle to break free whenever he was matched up against center Ted Larsen, and he did see the occasional double team. But it's probably fair to say at this point that Cox is the best rookie defensive tackle the Eagles have had since Corey Simon.
In the second quarter, he read a screen pass to Tampa running back Doug Martin and dropped him for a 6-yard loss. He recorded his fourth sack on the season just before the half when he ran a twist. Cox could do little as Martin ran by him for a 4-yard touchdown run in the fourth because Larsen had contained him. He came back and stuffed Martin at the line on third down when the Birds held late in the fourth.
Clay Harbor did fine work stepping in for Brent Celek after Celek suffered a concussion on the first play from scrimmage. The tight end, who had trouble holding onto the ball in the spring, caught all six passes thrown his way for 52 yards and a touchdown.
On his first catch, Harbor caught the ball shy of the sticks but ran for the first down. He had his ups and downs as a blocker but had a key block on a Bryce Brown 11-yard run and another on a wide receiver screen to Maclin that Maclin took 24 yards.
The switch from strong-side linebacker to weak-side appeared to free up Mychal Kendricks on run downs. He still plays essentially the same role in the nickel, but he should have more opportunities to make plays now that he doesn't have to line up opposite a tight end as much.
His best moments against the run didn't show up on the stat sheet. He blew up a second-quarter Martin run that forced the running back into Vinny Curry's arms. He did the same for safety Colt Anderson in the fourth. Kendricks got his hand on the ball three times in pass protection and allowed only two catches for six yards on five targets. The rookie had his best game in months.
For the Eagles defense, there was beforeDamaris Johnson's muffed punt and after it. The unit shut out Tampa Bay for more than a half and held its offense to 119 yards on 36 plays (3.3 average).
After Johnson's turnover, which gave the Buccaneers the ball on the Eagles 5, the Birds defense allowed 21 points and 195 yards on 32 plays (6.1 average).
Contact Jeff McLane at firstname.lastname@example.org. Follow on Twitter @Jeff_McLane.