Eagles grades: Offense is a tale of two halves but defense squashes the late Buccaneers rally
Jalen Hurts completed 15 of 16 passes in the first half, but didn't complete a pass in the second. The defense forced two turnovers, including a Jihaad Campbell fourth quarter interception.

TAMPA, Fla. — Instant grades on the Eagles’ performance in their 31-25 win over the Tampa Bay Buccaneers:
Quarterback: B-
It was a tale of two halves for Jalen Hurts, just like it was last week, with the halves flipped. Hurts could do no wrong before the break, nothing right after. In the first half, he completed 15 of 16 passes for 130 yards and two touchdowns. In the second, he didn’t complete any of his eight pass attempts. Hurts did, overall, avoid turnovers. He should have been intercepted in the fourth quarter, but Bucs cornerback Jacob Parrish couldn’t make the catch.
He did a splendid job against Todd Bowles’ blitzes in the first half, but not so much in the second. There often were built-in answers, and he got to them when necessary, but he looked like the quarterback Bowles confounded in the previous five meetings after the break.
Hurts was excellent on the offense’s opening drive, completing 5 of 6 passes for 33 yards and a touchdown and scrambling 29 yards down to the 2-yard line.
» READ MORE: Nick Sirianni’s antics, Tom Brady’s bias, and other highlights from the Eagles-Bucs broadcast
Tanner McKee, who has been dealing with a fractured thumb, was active as Hurts’ backup for the first time this season.
Running back: C
The Bucs, like the first three opposing defenses the Eagles saw, concentrated on containing Saquon Barkley. They held the running back to an average of just 1.9 yards on his first eight carries.
Overall, Barkley rushed 19 times for 43 yards. He waltzed into the end zone from six yards out off a third quarter fake Tush Push. The Eagles had a good answer vs. the blitz on their first play from scrimmage — a swing pass to Barkley that picked up 12 yards. He had a 15-yard catch in which he evaded two would-be tacklers just before the break.
AJ Dillon had three rushes for 17 yards. Will Shipley returned from an oblique injury. He was on the field for a two-back screen as a lead blocker. He didn’t get the job done, and Barkley was dropped for a loss. It wasn’t a good call on third down, either.
Cameron Latu played fullback. He helped pave the way on Dallas Goedert’s fake Tush Push touchdown catch. A play in which he was the lead blocker in the second quarter resulted in a loss.
Receiver/tight end: C+
The Eagles again failed to unlock the downfield passing game as receivers A.J. Brown and DeVonta Smith had just four combined catches.
Brown was targeted nine times, but finished with just two grabs for seven yards. His first catch of the first half was an unblocked screen that netted negative-2 yards before the two-minute warning. But he came back on the next play and converted a third down when the Bucs sent a zero blitz at Hurts.
Brown had a poor block on a Hurts zone read run to his side in the third quarter.
Smith finished with two catches for 29 yards. He had a 20-yard grab on third down in the second quarter and hung on after a big hit. He also had a third-and-8 conversion on the opening series. Jahan Dotson ran a lot of routes and never saw the ball come his way. John Metchie had a couple receptions.
» READ MORE: Yes, the Eagles are 4-0. Don’t get too excited, though. | Mike Sielski
Tight end Dallas Goedert pulled in a 22-yard grab down the seam in the second quarter. Several plays later, he pulled in his second touchdown on a shovel pass. He ended up with four catches for 37 yards.
Grant Calcaterra had a catch and run 16-yard pickup in the second quarter. Kylen Granson and Latu did some run blocking, seemingly not all that well.
Offensive line: C
Hurts’ pass protection was decent, but the O-line hasn’t been able to get much going on the ground. The holes just haven’t been there for Barkley.
Right tackle Lane Johnson didn’t allow many pressures, if any, and muffled Bucs edge rusher Haason Reddick before leaving with a shoulder injury in the third quarter. Fred Johnson was his replacement and seemed to hold up.
Right guard Tyler Steen left late in the second quarter with a knee injury. He returned in the second half and mostly was responsible for the first sack the Eagles allowed. Steen struggled with a second quarter stunt that forced Hurts out of the pocket. Matt Pryor stepped in for Steen after getting benched at right tackle in relief of Fred Johnson the week before.
Left tackle Jordan Mailata kept Hurts’ blind side clean. He seemed to have the best day of the Eagles’ remaining O-linemen. Left guard Landon Dickerson just hasn’t looked the same after knee surgery. He’s also been dealing with back woes. Center Cam Jurgens had an errant third-down snap that forced Hurts to take a sack.
Dickerson and Mailata had pull blocks that helped spring Dillon for 11 yards.
Defensive line: B
Moro Ojomo had a huge sack on the Bucs’ final drive, but the pass rush was lacking at times. Jalyx Hunt came up with a third-quarter forced fumble when the Eagles needed to stop the Bucs’ momentum. He didn’t have much success rushing against left tackle Tristan Wirfs, though.
His unsportsmanlike conduct personal foul aided the Bucs on a first quarter drive that resulted in a field goal. It was unclear what exactly he did to draw the flag, but he was involved in a fracas after Cooper DeJean’s would-be interception return (later overturned).
Ojomo batted a second quarter pass to the ground in the second quarter. He also drew a holding penalty on a Bucs run play in the fourth quarter.
Defensive tackle Jalen Carter injured his shoulder in the fourth quarter. He returned, but then left again. Carter was a menace at times, ineffective in others. He’s been inconsistent in the three games he’s played. He also committed another personal foul — already his third of the season — when he unnecessarily hit Tampa quarterback Baker Mayfield in the helmet after a throw.
» READ MORE: Eagles avoid a meltdown in Tampa and stay unbeaten by holding off the Buccaneers, 31-25
Jordan Davis chased down Mayfield and forced him to throw across his body incomplete on fourth down in the third quarter. Za’Darius Smith started in place of the injured Nolan Smith (triceps) and struggled to get off blocks. Joshua Uche also took a roughing-the-passer penalty when he clipped Mayfield’s helmet in the fourth quarter.
Ogbo Okoronkwo was active for the first time and got the nod ahead of Azeez Ojulari. He left in the second quarter with a triceps injury. Special teams ace Patrick Johnson played some defense after Okoronkwo left. Wirfs squashed him into the ground on one of his rushes.
Linebacker: B+
Jihaad Campbell had the pick on Mayfield’s ill-advised throw into the end zone in the fourth quarter. He also was in on Irving’s fumble. He lost Irving in coverage and the result was a 72-yard touchdown, but the rush again failed to get home, and Mayfield escaped containment.
Zack Baun finished with eight tackles and a sack. He had a run tackle for loss in the first quarter, and a few plays later, he blitzed up the “A” gap and got Mayfield. He was one of the Eagles’ more reliable players on defense.
Cornerback: B+
Kelee Ringo started for the sidelined Adoree’ Jackson (groin). The Bucs, surprisingly, went more at counterpart Quinyon Mitchell, who followed receiver Emeka Egbuka. Mitchell answered the bell nearly every round. He had two pass breakups and a third-down tackle the first three times Mayfield threw at him. Mitchell deflected another third-down pass downfield in the second quarter. He got away with pulling on receiver Chris Godwin’s jersey in the third quarter.
Ringo came up with a fourth-down stop when challenged in the third quarter. But he committed pass interference a quarter later. Ringo also had a couple of missed tackles in run defense but recovered Hunt’s forced fumble and otherwise acquitted himself in his first start of the season. Has he kept the job?
Cooper DeJean led the Eagles with nine tackles. He broke up a second-quarter pass on a comeback route. He got flagged for taunting when he stepped over a Bucs player after making an open-field tackle. Whether it was an aggressive call or not, the Eagles should know the league has made policing taunting a priority. Parry Nickerson was the sixth defensive back in dime personnel.
Safety: B-
Mayfield’s longest completion of the game came when he split safeties Drew Mukuba and Reed Blankenship with a 77-yard strike to Egbuka. Blankenship had tight coverage on a third down stop in the fourth quarter. He made a stop on a screen pass in the first quarter, but also missed an early run tackle attempt.
Mukuba was in coverage when Godwin converted a third-and-9 in the fourth quarter. Sydney Brown didn’t see the field much with the Eagles mostly in nickel personnel.
Special teams: B
Michael Clay’s units came up with another touchdown — a week after Davis’ game-ending blocked field goal — to open the scoring. Latu snuck through and blocked Riley Dixon’s punt on the Bucs’ first possession. Brown scooped up the bouncing ball and coasted 36 yards into the end zone.
The same group allowed a 46-yard punt return in the third quarter and a 27-yarder in the fourth. Brown missed the initial tackle attempts on returner Kameron Johnson.
Kicker Jake Elliott connected on a 39-yard field goal and made all his extra points. Braden Mann averaged 37.6 net yards on seven punts. His 63-yard boomer into the corner in the third quarter forced Johnson to field the punt at the 4-yard line.
Tank Bigsby and Shipley handled kick returns and did a decent job. Bigsby let one bounce in the fourth quarter. Dotson returned just one punt for 3 yards. He hasn’t given the Eagles much in that department.
Coaching: C
Nick Sirianni‘s team continued its winning wins, but again not without drama. The Eagles can be explosive, but they can also be undisciplined and mistake-prone. It was good and then bad, but they ultimately left a stadium that has given them problems with a 4-0 record.
Offensive coordinator Kevin Patullo had a great first half and a terrible second. He came out firing with pass-heavy play calling that helped negate the blitz. The plays also had enough built-in answers for when Hurts was “hot” or under duress. That’s a credit to Patullo and Sirianni.
Patullo’s script on the opening drive probably was his best of the season. Patullo had Hurts drop on seven of eight plays. There were answers to the blitz and a wrinkle off the Tush Push — a fake that resulted in a Hurts underhand flip to Goedert for a 2-yard touchdown. But Patullo had no answers after the break.
Coordinator Vic Fangio‘s pass defense was outstanding in the first half. Mayfield averaged just 2.6 yards per drop by the half. It got sloppy in the second half, but partly because the Eagles’ offense kept going three and out.