PHILADELPHIA - It was dubbed the "Shady Bowl." LeSean McCoy is the all-time leading rusher in Philadelphia Eagles franchise history. He was traded to the Buffalo Bills in the offseason and dominated the conversation this week leading up to his return to Philly.

Head coach Chip Kelly of the Philadelphia Eagles talks with an official. (Photo by Rob Carr/Getty Images)

That hype seemed to dominate the fact that both teams entered this game fighting for their playoff lives. The Eagles needed a win to remain, at the very least, in a tie for first in the NFC East. The Bills were still fighting for a wild card in the AFC.

When the dust settled, the Eagles picked up a huge 23-20 win over the Bills. It sets up an even bigger game next week in Philly against the Arizona Cardinals.

Overall, pretty good grades for the birds following a game they had to have.

(Listen to Scott Grayson discuss Grayson's Grades and more on Eagles win over Buffalo)

A

Donnie Jones - Jones' performance is probably overlooked by most fans. He was booming punts throughout the game to help keep the Bills starting possessions pretty deep on their own end of the field. He boomed seven punts for 353 yards. That is an average of 50 yards per punt with a long of 63 yards. Jones is reliable and consistent for this team.

Caleb Sturgis - Sturgis has become pretty reliable for the Eagles. He took over for the injured Cody Parkey and had an awful first game when he missed an extra point and a field goal in a three point loss. Sturgis had to make some tough kicks in this game booting it through the uprights from 45, 41 and 30 yards out. He also added a pair of extra points. In his last six games, Sturgis is 7-of-9 on field goal attempts and 16-of-16 on extra point attempts.

Zach Ertz - Ertz was a weapon against various levels of the Bills defense. He beat them over the middle and downfield as well as on short passes with plenty of extra yards after the catch. Ertz' biggest play came in the second half when he caught a pass in the flat, turned it upfield and broke a couple of tackles en route to a 41 yard gain. Ertz finished with five receptions for 98 yards.

Mychael Kendricks - Kendricks had one of his better games of the season. He looked to be moving around the field very well and used his speed to help track down LeSean McCoy. Kendricks was one of three players to lead the team with eight tackles. His stat line included one tackle for a loss.

Connor Barwin - Barwin is at his best when he uses his hands to help the defense. By that I mean that he is in the zone when he realizes he will not make it to the quarterback and gets his arms up to bat passes down. Do not underestimate how big those batted passes are in a game. Barwin batted two passes to the ground in this game and also recorded a quarterback hit. He finished with four tackles.

Malcolm Jenkins - Jenkins proved to be his versatile self. He played up on the line of scrimmage and also backed off in coverage. Jenkins is a bit of a unique safety that is also an above average tackler. He was one of three players to lead the team with eight tackles. Jenkins is clearly the leader on that side of the ball and does as much talking with his play as he does with his mouth throughout the game.

Fletcher Cox - Cox had a great game and did numerous things that will not show up in the box score. He disrupted several plays in the backfield and also recorded a big sack on third down to stop the Bills opening drive. Cox beat his man on multiple occasions and proved yet again why he is one of the most valuable defensive linemen in the league. Cox was one of three players to lead the team with eight tackles. He had one sack, two tackles for a loss and one quarterback hit.

B

Chip Kelly - I have to give Kelly credit for the way he handled the events of the week. He appeared to be genuine with his explanations of events related to LeSean McCoy's trade. Kelly also did a pretty good job of downplaying DeMarco Murray's conversation with owner Jeffrey Lurie. As for the game itself, I liked how he handled the running back rotation. It is more of how I expect to see it with Mathews getting the most carries while Murray and Sproles split the rest. I was surprised to see Kenjon Barner active and do not expect Kelly to carry four active running backs very often. I have yet to figure out Kelly's plan regarding challenges. I did not understand his use of a challenge in this game on a ball Sammy Watkins clearly caught with both feet in before going out of bounds. I thought he could have used a challenge once or twice last week in New England. All in all, I thought Kelly did a good job in this game. There were still too many consecutive three-and-outs in the middle of this game.

Billy Davis - Davis came up with a good scheme and coached up his players to effectively remain in their lanes against a shifty back like McCoy. His defense only allowed 74 yards rushing to McCoy and gave up just one long run of 24 yards. I feel Davis allows his corners to give too much cushion on the outside and also fails to be aggressive enough with blitzes at times in the game. However, his scheme worked against the Bills.

Sam Bradford - Bradford appears to have turned a corner since his injury. He was playing some of his best football when he got injured earlier this season. He has looked decent upon his return winning both games so far. Some of his deep passes were right on the money. The 53 yard touchdown pass to Agholor was perfect. Riley Cooper should have caught the deep ball on their first offensive play of the game. I thought the interception he threw should have been ruled incomplete. Bradford still holds onto the ball just a split second too long for the pressure this offensive line is allowing. His mental clock must get sharper. Bradford completed 23 of 38 passes for 247 yards and one touchdown while throwing one interception. His completion percentage needs to be higher, but his receivers have to do a better job of cutting down on the drops.

Darren Sproles - Sproles has such deceptive speed when you ask a defense to have to change pace to account for him after facing Ryan Mathews and DeMarco Murray. He is such a weapon on special teams as well and showed that once again with some solid returns in this game. He averaged nearly six yards per carry. Sproles used a solid 15 yard run to setup his own one yard touchdown run for the Eagles' first score of the game. He finished with seven carries for 41 yards, two receptions for four yards and 47 yards on four punt returns.

Ed Reynolds - Reynolds deserves a lot of credit for his interception to end the game. He got beat on a very similar play earlier in the game when Sammy Watkins scored on a 47 yard touchdown pass. Reynolds was late coming over as he was assigned to provide deep help. He learned from his earlier mistake and admitted the difference between the touchdown and the interception was that he did not hesitate. The other part of the play was the decision to give himself up and slide after making the pick. Continuing the return and risking a fumble would have been ill-advised. It helped that the entire sideline was telling him to get down.

C

Nelson Agholor - Before I get to his grade, I have to admit this is a class 'A' individual. He caught his first career touchdown in this game and was prepared to bring the ball home with him. As I was leaving the locker room, I saw him approach a young man with no arms or legs and give him the touchdown ball. He autographed it and spent a few minutes with the youngster. It was not planned and not scheduled, he did it because he wanted to. He also was not looking for cameras or attention from the good deed. I just happened to see it. As for his football grade, the rookie looked really good on his first career touchdown reception. He got a little separation and made a nice catch on a 53 yard pass from Bradford. However, he still had a few costly drops. Agholor has to show he can make those big catches in order to sell me on the fact that he is going forward. The touchdown catch was one step in the right direction. This offense needs him to produce like a first round pick. All in all, Agholor finished with three receptions for 62 yards and one touchdown.

D

Ryan Mathews - We saw Mathews for the first time in about a month following a concussion and groin injury. He looked pretty good coming off the injury. Mathews got the most carries out of all the backs taking the handoff 13 times for 38 yards. He also caught two passes for four yards. Mathews, in my opinion, does the best job of all the running backs on this team of running between the tackles. He was not happy with his performance saying afterwards that he felt like he left some yards on the field. Mathews cited his missed time due to injury for needing improvement on timing when to hit the hole and vowed to see that through.

DeMarco Murray - In a pretty balanced running back rotation, Murray got 11 carries for 34 yards. It was an average of three yards per carry. To me, he appears to hesitate a little before ultimately deciding when is the right time to hit the hole. If he is expecting holes as big as he saw running behind the Cowboys offensive line, it isn't going to happen. What Murray lacks in this offense at this point is the instinct to just hit any gap and take on whoever is in the way. This was an average performance and I believe what we saw today is the running back rotation we will see more frequently the rest of the way.

F

Dennis Kelly - Kelly came into the game to spell Jason Peters who was being examined by the training staff for some sort of injury. In that short time that he was on the field, he did exactly what has cost this offense in the past. He committed back-to-back holding penalties setting up a 1st and 30. This offense has failed to respond following offensive penalties. Bradford and Agholor bailed Kelly out by hitting on the 53 yard touchdown to finish that drive. One holding penalty can be tolerated. It happens during the game. But two in a row is definitely unacceptable.