CHARLOTTE, N.C. — It might have felt like giving birth — or insert other painful, yet rewarding experience here — but the Eagles pulled out a gutsy 21-18 comeback road win over the Carolina Panthers on Sunday. Win, lose, or draw, here’s what we learned:

Jonathan Gannon isn’t dogmatic. In the first four games, the Eagles’ defensive coordinator relied on zone coverages and mostly a Cover 2 shell that had his safeties deep and often out of TV view. He mixed in some man defense and employed other zones, but Gannon’s scheme was designed to keep his unit from giving up the big play. It worked in Week 1 and relatively so in Week 2, but there were disastrous consequences in Weeks 3 and 4.

Gannon’s game plans lacked creativity, which is fine if you have the horses, but the Eagles have been susceptible at linebacker and safety, and their defensive front — typically a strength — had struggled to adapt to multiple fronts. The Cowboys and Chiefs, subsequently, took advantage of a light box and successfully ran when warranted. With shorter second and third downs, they were able to pick their spots through the air. The Eagles allowed 40-plus points in consecutive weeks for the first time in six seasons and only the sixth time in franchise history.

» READ MORE: Sirianni and Hurts showed us something, and a winning Eagles season is still in play | David Murphy

Something needed to change. Coach Nick Sirianni said there were “harsh conversations” with Gannon and his assistants last Monday. He didn’t deliver an ultimatum or put his coordinator on notice, per team sources, but Sirianni wanted game plans that also accounted for player strengths. For instance, the Panthers offered the opportunity for cornerback Darius Slay to utilize his man cover skills by following wide receiver DJ Moore. With running back Christian McCaffrey out, Carolina didn’t have a receiving weapon as dangerous as Moore. In the first four games, Moore averaged eight catches for 100 yards and caught three touchdowns. While Slay shadowing the wideout may have made the Eagles’ coverages more predictable, it made sense with quarterback Sam Darnold at the controls.

He had come to rely on Moore in McCaffrey’s absence, and on Sunday forced throws in his direction. Slay made Darnold pay and intercepted two of the six passes intended for Moore. The receiver caught only four passes for 30 yards when matched up against Slay. He had another grab for 12 yards vs. Avonte Maddox after he motioned across the field. Darnold completed a few passes over 20 yards in soft spots when Gannon went zone. But Slay and Steven Nelson (one interception), who stayed with receiver Robby Anderson, were hard to throw against on Sunday.

» READ MORE: Eagles’ Darius Slay caps off milestone week with big plays against Panthers

Does that mean Gannon should draw up the same defense vs. Tom Brady and the Buccaneers on Thursday? Probably not. It’s not as if Slay and the Eagles didn’t have their struggles last season when Jim Schwartz had the corner follow a top receiver who had a Hall of Fame-caliber quarterback (see: Russell Wilson/DK Metcalf and Aaron Rodgers/Davante Adams). But it was promising to see a young coordinator such as Gannon be willing to adapt on Sunday.

He also did some things up front to free rushers, and with Slay and company mostly doing their jobs on the back end, Javon Hargrave, Fletcher Cox, and Josh Sweat recorded third-down sacks. All three finished with six pressures, according to Pro Football Focus. Derek Barnett also had five. Gannon also threw in a few well-timed blitzes — nine on 42 drops, per PFF — and used his odd-man fronts to keep the Panthers’ offensive line guessing on blocking assignments.

It wasn’t perfect, of course. The Eagles allowed too many yards on the ground to McCaffrey’s backup, Chuba Hubbard (24 carries for 101 yards). There was a blown assignment on Darnold’s lone touchdown pass. There were still a few untimely penalties. But Gannon had answers against an offense and quarterback that were there for the stopping. Let’s see if he can build upon that success on a short week vs. one of the best to ever to grab a football.

Sirianni sure likes the bubble screen. The Eagles won, but my sense is that many fans remained nonplussed about the future because they still don’t have confidence in Sirianni’s playcalling. Just a week ago, he dialed up a game plan that had his offense march up and down the field at will. There were still red-zone issues, and alternately game-management miscues, but like Gannon this week, he rebounded from two subpar play-calling efforts.

But whatever good will he had garnered against the Chiefs was quickly wiped away by halftime Sunday. Sirianni’s game plan, as far as I could tell, consisted of screen pass, screen pass, screen pass, and oh heck, how about one more screen pass? I’ve seen Pop Warner offenses with more imagination. I’m serious. Sirianni has said that screens would play a big role in his offense, and, sure, every NFL team runs them, but not on half of their plays. DeVonta Smith said something about the Eagles wanting to take advantage of the Panthers’ zero coverage looks, but how often could that have shown up on film? And if Carolina is blitzing at will, shouldn’t there have been more shot plays?

Nevertheless, Sirianni said the Panthers had unscouted looks — go figure — that thwarted his plans. But he seemed ill-equipped to adjust. Has he already run out of ideas? I don’t believe that to be the case. But it does seem as if Sirianni struggles to adapt on the fly. Some credit should be given to Carolina, which has a sound defense. But it was without linebacker Shaq Thompson, and the Eagles failed to exploit his replacement.

Sirianni may feel as if he’s restricted because of Jalen Hurts. There are certainly throws the quarterback struggles to consistently make. But he isn’t as limited as some of Sirianni’s calls suggest. And any play that’s meant to “feature” receiver Jalen Reagor isn’t a winner in my book. To be fair to Reagor, he wasn’t the only one to catch a bubble screen only to see defenders immediately in his face. Smith and Quez Watkins had little room to operate, as well.

» READ MORE: Jalen Hurts, Eagles offense weren’t sharp, but lifted each other to finish Panthers

But the offense lacked creativity, variety and was again hampered by Sirianni’s reluctance to run the ball. I’ve stated plenty of times here that the establish-the-run theory is hooey. I’ve suggested that Sirianni adopt a college-based system that gets the ball out of Hurts’ hand quickly and takes pressure off the youngster. But where were the designed quarterback runs? The play-actions? The moving of the pocket? Mix it up, and that includes running the ball every now and then. Miles Sanders looks like a shell of himself. He’s healthy, young and should be featured more than just on inside zones and dumps. He caught five passes on Sunday for just 6 yards.

There was one third-quarter sequence that bothered me in particular. Dallas Goedert caught an 8-yard pass on first down. Second-and-short can often be a good situation to take a shot downfield. But the Eagles needed to sustain a drive. They needed to move the sticks a few times. A run there might have made sense. But Hurts dropped and right tackle Jordan Mailata was beaten by Haason Reddick for a sack. A play later, center Jason Kelce rushed his snap, the cadence was off, and Reddick jumped the snap and Mailata didn’t stand a chance.

It all looked so bad for most of three quarters. Hurts and Watkins provided the spark when they hooked up for 53 yards a series later. The quarterback finally started using his legs on zone reads. And the offense capitalized on T.J. Edwards’ blocked punt with a touchdown, and on Nelson’s pick with an effective four-minute offense (minus Sanders mindlessly running out of bounds twice). But concerns about Sirianni’s offense are justified. On a positive note, he did improve his goal-line calls. Three weeks ago, when asked why he didn’t sneak Hurts against the 49ers, he said a full yard was too far out. But when the same scenario presented itself against the Panthers, he had Hurts plunge forward and the end result was — viola! — touchdown.

The growing pains aren’t going away. At the expense of picking on Reagor, his first several plays were only the first of many mistakes by the Eagles. On the game-opening kick, he came out from 3 yards deep but failed to reach the 25-yard line. On first down, he dropped a pass. And on third down-and-long, he was called for holding, although the penalty was declined.

His travails wouldn’t end there. I gave him a pass on his decision to return the first kick. He did, after all, have a 44-yard return a week ago. But he did it again later in the game and again couldn’t do any better than a touchback. There were other kicks mixed in that traveled the same distance that he didn’t return, so maybe he was just following orders. But Reagor’s inconsistencies suggested otherwise.

His blocking effort on one bubble screen to Watkins was negligible. Maybe he felt like most fans did about the screens, but he has a job. Reagor did return a punt 22 yards, but the bad has far outweighed the good with the second-year receiver.

Penalties remained an issue. The Eagles were charged with only six, but another nullified a touchdown when receiver Greg Ward was flagged for pass interference on a pick play that resulted in a Smith touchdown. That’s five touchdowns erased by penalties this season and the second time in two weeks that very same play resulted in a six points being taken off the scoreboard. Are Sirianni and his staff not teaching the play correctly? Ward’s a bright man. Was he just trying to get around the defender but instead ran into him? Either way, it was a blatant block. Players need to be held accountable for errors and poor play or the coach needs to work further on fundamentals.

Personnel changes are already underway. Sirianni wasn’t on staff when Reagor was drafted. But he didn’t have to play him the second-most amount of skill position snaps in the first four games. Watkins has clearly been the better of the two and offers more down the field. It may be just an anomaly, but Reagor (47 of 67 snaps) was on the field less than Watkins (55 snaps) Sunday. Smith (62 snaps) continued to be the most-used receiver. Through five games, the rookie has 25 catches for 314 yards and a touchdown. He did have a fumble on Sunday, but Smith has yet to drop a pass this season. For comparison, Reagor caught 31 passes for 396 yards and a touchdown in 11 games as a rookie.

» READ MORE: T.J. Edwards’ blocked punt leads to Eagles’ winning drive: ‘Execution was unbelievable’

On the other side of the ball, a change at linebacker is seemingly unfolding. Davion Taylor logged 24 snaps out of 71 plays, more than double the amount he had in any previous game. His increased playing time came at the expense of Eric Wilson (29 snaps), who has struggled to get off blocks in the run game and make plays vs. the pass. Taylor finished with four tackles to Wilson’s one. Alex Singleton led the way in snaps (53) and tackles (13). He is often where he needs to be, but the Eagles’ glaring need for a three-down linebacker remains evident. Can Taylor develop into that role? He has the physical tools. He just needs time and apparently is going to start to get it.

Extra points. The offensive line went through another shuffle with Lane Johnson still out because of a personal matter and Mailata’s return from a knee sprain. Andre Dillard remained at left tackle, while Mailata moved to the right. The Eagles didn’t want to disrupt the former’s comfort on the left, also knowing how disastrous his turn was on the right two years ago. The latter also had some experience on the right and is probably in a better mental state to handle the move. The switch also allowed for Jack Driscoll to slide inside to right guard ahead of Nate Herbig. That’s four different lineups in five games and, overall, they did fine. Kelce had the bad snap that resulted in a safety, and the quick one that led to a sack, but the center has held that group together. There could be another lineup change for Thursday’s game. Left guard Landon Dickerson (injury unknown) left late and was replaced by Herbig. As for Johnson, at this point it seems unlikely that he’ll be back and ready for the Bucs.

Edwards’ block was a byproduct of game planning. Hey, here’s one credit to the coaches! Special teams coordinator Michael Clay observed that the Panthers’ interior blocking wouldn’t hold if the Eagles overloaded inside, and when Shaun Bradley rushed the long snapper, Edwards had a free path to the punter. Edwards did well to get a hand on the ball without risking a penalty. Although he should have just tried to pick it up in that fourth-down circumstance, because had he missed and Bradley failed to pounce on the loose ball, the Eagles’ comeback would have failed.

Jake Elliott’s 58-yard field goal before the half was the third-longest in team history behind his 61-yard boot against the New York Giants in 2017 and Tony Franklin’s 59-yarder back in 1979. Elliott has yet to miss a kick this season, and after a down year, it was imperative that he rebound.