will-grier-g.jpg
Getty Images

The NFL preseason isn't about wins and losses. Participation trophies are handed out like youth sports at the end of the three-game run, four games for the two teams that play in the Hall of Fame Game. However, those "trophies" come in the form of 53-man roster spots as well as practice squad slots. 

It's hard to not overreact after your team has played only three games in which many starters barely suited up or didn't play at all. With that in mind, here's a look at how each NFL team's final evaluation exhibition went as well as the notable moments as we highlight the good, bad and ugly for all 32 clubs in their final preseason tune ups. 

Arizona Cardinals (defeated Minnesota Vikings 18-17)

The good: Davion Davis' 26-yard touchdown catch. Backup quarterback David Blough threw up a prayer while the Vikings blitzed the kitchen sink, and Davis somehow corralled the underthrow lob pass for the score. This is the highlight from what was otherwise an uneven Cardinals performance. 

The bad and the ugly: Clayton Tune's preseason finale stat line (9 of 12, 85 passing yards, 94.1 passer rating) is deceptive. It appears efficient, but what it doesn't show is Tune cutting Arizona's opening drive short by taking a third-down sack at his own 11 and fumbling the football, which caused a turnover. An ugly turnover in the worst part of the field to commit one. Vikings rookie quarterback Jaren Hall threw a five-yard touchdown pass on the very next play. It's going to be a long year in Arizona. 

Atlanta Falcons (lost 24-0 to Pittsburgh Steelers)

The good: The Falcons didn't play their starters, so nobody they are heavily relying suffered an injury. 

The bad and the ugly: Their defensive reserves were shredded by the Steelers' starting offense. Pittsburgh starting quarterback Kenny Pickett led his first-team offense to touchdowns on both of their opening two drives while completing all four of his passes for 86 yards. Steelers running back Najee Harris and Jaylen Warren punctuated both of those drives with touchdown runs inside of 10 yards. 

Baltimore Ravens (lost 26-20 to Tampa Bay Buccaneers)

The good: Thirty-seven-year-old backup quarterback Josh Johnson still has it. He completed four passes in a row to start the game, including a 24-yard scoring strike to former first-round pick Laquon Treadwell. Johnson totaled 95 passing yards on 6-of-9 passing.

The bad and the ugly: Backup quarterback Anthony Brown's lost fumble after a smooth 14-yard scramble. The turnover was the only one of the night for either team, and it occurred in field goal range. 

Buffalo Bills (defeated Chicago Bears 24-21)

The good: Josh Allen and the Bills' starting offense bounce back. The "Madden 24" cover boy, and his first-team offense were shut out last week against the Pittsburgh Steelers. They needed to put points on the board in order to feel good about themselves entering their Week 1 "Monday Night Football" showdown against Aaron Rodgers and the New York Jets. Thankfully, they faced the NFL's worst defense from 2022, the Chicago Bears.

Buffalo totaled three third-down conversions, James Cook picked up 23 yards on five carries, Allen connected with three different receivers (Stefon Diggs, Gabe Davis, and Deonte Harty) and Damien Harris concluded the 12-play march with a two-yard touchdown plunge. That was their only work of the day, a nice feeling to enter Week 1 coming off a successful outing. 

The bad and the ugly: Special teams. The Bills allowed one of Sam Martin's punts to be blocked, and they also surrendered a 56-yard kickoff return. The margin to come out of the AFC every postseason is so razor thin, and Buffalo's third phase could do them in come January. 

Carolina Panthers (lost 26-17 to Detroit Lions)

The good: Bryce Young checked an important box in his preseason finale by throwing his first career touchdown, a 16-yard toss to veteran wideout Adam Thielen.

Young also had preseason bests in passing yards (73), yards per pass attempt (6.1) and passer rating (103.8). That's exactly the right direction Panthers nation wants to see their first overall pick trending leading into Week 1.   

The bad: Offensive tackle Ikem Ekwonu, the Panthers' sixth overall pick from the 2022 NFL Draft, allowed his second sack of the preseason in the finale against Detroit as well as his fourth quarterback pressure of the exhibition season. That's a little worrisome for a smaller-framed quarterback like Young. 

The ugly: Tight end Tommy Tremble, a 2021 third-round pick, and linebacker DJ Johnson, a 2023 third-round pick, looked all out of sorts on their kick return coverage of what turned into a 62-yard return by Lions quarterback Khalil Dorsey. 

Chicago Bears (lost 24-21 to Buffalo Bills)

The good: The Bears' special teams units. They blocked a Bills punt late in the game, and fourth-round rookie wide receiver Tyler Scott ran a kickoff return 56 yards. Strong special teams can close the margins between two teams quickly, even for a team like the Bears who had the worst record in football in 2022. 

The bad and the ugly: Quarterback Justin Fields and the first-team offense struggled. They went three-and-out on their first two drives and couldn't find the end zone. Not the vibes you want entering Week 1 against the hated Green Bay Packers.

Cincinnati Bengals (lost 21-19 to Washington Commanders)

The good: Quarterback Jake Browning and sixth-round rookie wide receiver Andrei Iosivas connect for their first touchdown of the preseason for each of them. Browning did a nice job reading the Commanders' zone coverage, and Iosivas deftly capitalized on the miscommunication in Washington's secondary. It appeared as though the cornerback passed him off to the safety, but the safety just wasn't playing deep enough in the end zone, allowing Iosivas to tip toe the back of the end zone line for the score. 

The bad and the ugly: Bengals backup quarterback Trevor Siemian's ugly interception. He put the football in harm's way in despite being in field goal range just before the end of the first half. In a game Cincy lost by just two, an extra three would've been the difference. Instead he tried to squeeze a pass over the middle through zone coverage, and the throw could've been intercepted by the safety, who ended up tipping the football to a teammate for the pick. Intended target Andrei Iosivas never had a chance. 

Cleveland Browns (lost 33-32 to Kansas City Chiefs)

The good: The interception party for the Browns defense. Cleveland coerced Blaine Gabbert and Shane Buechele to combine to throw for three interceptions, including two pick-sixes. Buechele's pick, shown below, was the best of the two as ex-Chief Juan Thornhill simply undercut the pass. Gabbert's came off of a dropped pass, so it wasn't really earned. However, this doesn't really matter. Takeaways are takeaways. 

The bad and the ugly: Injuries. Primary kick returner and wide receiver Jakeem Grant was carted off the field shortly after the opening kickoff. Pro Bowl cornerback Denzel Ward departed after suffering a concussion. Defensive tackle Jordan Elliott (hip), linebacker Tony Fields (concussion) and Jordan Kunaszyk (knee) also had injuries force their removal from the game. 

Dallas Cowboys (defeated Las Vegas Raiders 31-16)

The good: After being told he was going to be cut before the game, Cowboys backup quarterback Will Grier threw for 305 passing yards and two touchdowns on 29-of-35 passing in addition to rushing for 53 yards and two touchdowns on 10 carries. Cowboys head coach Mike McCarthy called it "the best preseason quarterback performance I've seen since probably 1999 Matt [Hasselbeck]." Oh, and all that offense came with quarterback Dak Prescott calling the plays. 

The bad and the ugly: Kicker Brandon Aubrey missed 59-yard field goal. He had the distance, but it sailed wide left. It was just about the only negative play. He then made his second 59-yard attempt to redeem himself. 

Denver Broncos (defeated Los Angeles Rams 41-0)

The good: Everything. The defense chased Stetson Bennett from the game after intercepting him twice in his nine pass attempts. The offense scored at will, and both Jarrett Stidham (236 passing yards and one passing touchdown on 17-of-28 passing) and Ben DiNucci (117 passing yards and one passing touchdown on 11-of-15 passing) had nice nights. Second-round rookie wideout Marvin Mims hauled in an impressive 50-yard catch. 

The bad and the ugly: Nothing. The Broncos won 41-0. 

Detroit Lions (defeated Carolina Panthers 26-17)

The good: The reliable Teddy Bridgewater is back. Last week while wearing the No. 50 on his jersey, Bridgewater struggled, throwing for 34 yards on 5-of-11 passing. In the finale while wearing No. 17, he looked much more aesthetically-pleasing, racking up 178 passing yards and a touchdown on 13-of-22 through the air. Seventy of those yards came off of a touchdown toss to rookie seventh-round pick receiver Antoine Green. 

The bad: Backup quarterback Nate Sudfeld's knee injury. His leg buckled after running out of bounds, and the worst has come to fruition: Sudfeld suffered a torn ACL, according to the Detroit Free Press

The ugly: There were a few penalties -- six for 41 yards lost -- including a couple holding penalties that torpedoed some offensive drives. Overall thought, the Lions played a fairly strong game, bouncing back from a 10-0 hole to win 26-17. 

Green Bay Packers (defeated Seattle Seahawks 19-15)

The good: Jordan Love and Christian Watson's continually growing chemistry. Aaron Rodgers made back-shoulder fades to Jordy Nelson and Davante Adams look like clockwork for years. It appears Love is on his way to doing the same thing with 2022 second-round pick receiver Christian Watson, as evidenced by their six-yard touchdown in Week 3 of the preseason. Love finished the day with 63 yards and that score on 9-of-15 passing. Time to see what he can do in the regular season.

The bad and the ugly: Rookie backup quarterback Sean Clifford's injury. Clifford has impressed in spots this preseason, showcasing a powerful arm and a willingness to attempt any throw. His day came to an end early with an arm bruise suffered on a quarterback sneak. There's no need to run a quarterback sneak in the preseason. The results of the game don't count. 

Houston Texans (defeated New Orleans Saints 17-13)

The good: C.J. Stroud started each of the Texans' three preseason games, but his performance in New Orleans was the first one where he truly looked settled. After the game, he was named the team's QB1. He made a great throw deep down the left sideline to receiver Nico Collins, putting the ball right in Collins' chest. However, Saints cornerback Alontae Taylor did just enough to break up the completion at the last second. 

Stroud eventually connected with Collins, tossing his first career NFL touchdown to the third-year wideout on his second and final drive of the night for a three-yard score. The rookie does a great job of getting to the top of his dropback off of the play-action fake and then spiraling a perfect, floating football safely into Collins arms. 

The bad and the ugly: The Texans defense allowed 36-year-old tight end Jimmy Graham, who didn't play for anybody in 2022, to get loose for a jump ball touchdown. It would be ideal for the backup defense to not surrender a touchdown to someone who was essentially retired, but overall it was a great night for Houston. 

Indianapolis Colts (defeated Philadelphia Eagles 27-13)

The good: Anthony Richardson shows glimpses of big-time potential. Even though his box score this week doesn't look sparkling (6 of 17, 78 passing yards, 50.6 passer rating, plus five carries for 38 rushing yards), he contributed nicely on the Colts' two first-half touchdown drives. He completed both of his passes on the first scoring drive for 36 yards, a possession that ended with a three-yard touchdown run by Deon Jackson. On the following march, he threw for 19 yards on 2-of-3 passing while launching the drive with a 16-yard sprint. Rookie rusher Evan Hull's one-yard touchdown plunge ended the 75-yard, 10-play drive. 

Richardson looks more comfortable passing from the pocket, a nice piece of progress to take into Week 1. 

The bad and the ugly: The Eagles rested their starters against the Colts, but no Indianapolis running back came close to breaking out. Richardson ended up leading the Colts in rushing with 38 yards, and both rookie Evan Hull (25 yards and a rushing touchdown on six carries) and veteran Deon Jackson (eight yards and a touchdown on four carries) didn't inspire confidence.

Jacksonville Jaguars (defeated Miami Dolphins 31-18)

The good: After a year away from football, former first-round pick receiver Calvin Ridley looks ready for the regular season.

The bad and the ugly: Third-round rookie running back Tank Bigsby losing a fumble on the Dolphins' one. Just can't happen. 

Kansas City Chiefs (defeated Cleveland Browns 33-32)

The good: Justyn Ross is ready for liftoff. He showcased his ability to go up and win on contested catches with this three-yard touchdown catch on a fade route. Ross was once thought to be a first-round pick, but injuries have hampered his career. Now, he looks ready to contribute in a Chiefs offense with plenty of opportunity given their lack of established receivers. 

The bad and the ugly: The interception fest from the Chiefs' backup quarterbacks. Blaine Gabbert and Shane Buechele combined to throw for three interceptions, including two pick-sixes. Buechele's pick, shown below, was the worst of the two as he threw it right to former Chiefs and new Browns safety Juan Thornhill. Gabbert's came off of a dropped pass, so it wasn't really his fault. However, this doesn't really matter since they have the reigning NFL MVP and Super Bowl MVP Patrick Mahomes.  

Las Vegas Raiders (lost 31-16 to Dallas Cowboys)

The good: Aidan O'Connell closed out his stellar preseason with another solid outing. He racked up 304 yards and three touchdowns on 26-of-36 passing in his first two games before a decent showing on the road against the Cowboys. O'Connell showcased strong accuracy all night long, including this dart to Cam Sims down the the right sideline.

The bad and the ugly: Their defense was torched by Will Grier (305 passing yards and two passing touchdowns, 53 rushing yards and two rushing touchdowns), a quarterback the Cowboys are releasing. 

Los Angeles Chargers (defeated San Francisco 49ers 23-12)

The good: Backup running back Joshua Kelley's 75-yard touchdown run. The 25-year-old former fourth-round pick made one cut to the right, and then hit the accelerator. No one came close to catching him once Kelley hit the open field. 

The bad and the ugly: The Chargers' first three plays of the second half with seventh-round rookie quarterback Max Duggan, the 2022 Heisman Trophy runner-up out of TCU, in the game. His first throw was tipped at the line of scrimmage and almost intercepted. Running back Elijah Dotson drops a toss from Duggan that was supposed to begin a run play. Duggan dove on the ball for a loss of 10. Then, there was a dropped pass. Duggan turned it around the following drive, leading an 11-play, 77-yard possession that was finished off by a three-yard touchdown pass with Duggan on the run. However, his efforts weren't enough as he was released on Monday. 

Los Angeles Rams (lost 41-0 to Denver Broncos)

The good: Preseason or not, there's nothing good about losing 41-0. 

The bad and the ugly: Stetson Bennett delivered lackluster preseason performances these last two weeks. Last week against the Las Vegas Raiders, Bennett threw for 142 yards and a pick-six as a starter against the Silver Black on 15-of-24 passing. His start on Saturday in Denver against the Broncos makes his performance against the Raiders appear desirable. 

This interception below in which Bennett throws a pass on third-and-14 into TRIPLE coverage is atrocious.

Miami Dolphins (lost 18-17 to Arizona Cardinals)

The good: Quarterback Tua Tagovailoa played two drives and left the field healthy. Miami has its QB1 ready for Week 1. 

The bad: Backup quarterback Skylar Thompson throwing two interceptions within his first three throws. One occurred because he failed to see a linebacker dropping back in zone coverage. The other was an overthrow. Both are bad. 

The ugly: The final eight minutes and 32 seconds of the Dolphins' preseason game was canceled after a head injury to wide receiver Daewood Davis. He was put in concussion protocol after the scary collision. 

Minnesota Vikings (lost 18-17 to Arizona Cardinals)

The good: Jaren Hall's hot start. The rookie fifth-round pick received his first start of the preseason, and he showed an ability to heat up from the get-go. Hall finished the first half with 127 yards on 10-of-16 passing, including his first career touchdown pass, a five-yarder immediately after Clayton Tune's fumble. The Vikings scored two touchdowns and a field goal in the first half. A step in the right direction for the BYU product. 

The band and the ugly: The Vikings' second-half offense. Once even more fringe roster players entered the game, Minnesota's offense went on hibernation as it didn't score any more points. Here's the list of how the Vikes' five possessions in the third and fourth quarters ended: punt, punt, interception, missed field goal and turnover on downs. Fortunately, 2022 Offensive Player of the Year Justin Jefferson will return to action in Week 1. 

New England Patriots (lost 23-7 to Tennessee Titans)

The good: Patriots flex a deep linebacker room, something that likely puts a grin on head coach Bill Belichick's face. Backup linebacker Calvin Munson led the game in total tackles with 10, plus he snagged Titans quarterback Malik Willis' first of two interceptions off a deflection in close quarters. Marte Mapu, their third-round pick from the 2023 NFL Draft, made his NFL debut and totaled four tackles in a brief night with 32 snaps. 

The bad: Cornerback Jack Jones. He allowed a 30-yard pass while serving as the primary player in coverage, he was penalized for a defensive pass interference call that surrendered 32 yards to the Titans and to top it all off, he was easily stiff-armed by Tennessee third-round rookie running back Tyjae Spears on a 19-yard gain on the ground. 

The ugly: Backup quarterback Bailey Zappe's performance. He threw for 57 yards on 8-of-15 passing, but he was strip-sacked after holding on to the football too long, generally appearing lacking in the pocket awareness department. He was sacked on a quarter of his dropbacks, five times on 20 dropbacks. Zappe also fumbled three times. He was fortunate New England only lost possession on one of them. 

New Orleans Saints (lost 17-13 to Houston Texans)

The good: Tight end Jimmy Graham making plays at the SuperDome at age 36. He didn't play for anyone in 2022, but he still managed to haul in this 25-yard catch downfield, shown below, as well as a jump-ball touchdown from three yards out. Nostalgia feels good. 

The bad and the ugly: Rookie fourth-round quarterback Jake Haener's two attempts at a game-winning drive. Both ended with poor interceptions. First, he attempted an end zone heave on first-and-10 just outside of the red zone right after the two-minute warning. Haener's pass ended up in a crowd of three Texans with safety Grayland Arnold intercepting the pass. 

Haener's final drive ended with another interception, albeit on a play that could have worked. He had tight end Lucas Kroll open well past the line to gain on fourth-and-4, but he waited too long to make the throw. That allowed cornerback Cameron Dantzler to undercut the pass for a game-sealing pick. 

New York Giants (lost 32-24 to New York Jets)

The good: Backup quarterback Tommy DeVito's 30-yard touchdown pass. He rolled left and threw on the move to David Sills V. A nice atonement for his earlier pick-six. He has a case to make the roster as the team's third quarterback. 

The bad and the ugly: DeVito's pick-six. He had his receiver open underneath after the play-action fake, but he decided to pump fake, allowing Jets cornerback Brandin Echols to get back into the play for a diving interception, which he returned 67 yards for a touchdown. 

New York Jets (defeated New York Giants 32-24)

The good: Yes, it's only the preseason, but the new Gang Green duo of Aaron Rodgers and Garrett Wilson already has their jump ball chemistry down, as evidenced by their 14-yard touchdown against the New York Giants in their preseason finale. Expect Wilson and Rodgers to make similar music all season long. 

The bad and the ugly: Yes, the NFL is a passing league, but Gang Green's five rushers could only muster 41 yards on the ground. It will look a lot different with the first-team offensive line as well as Breece Hall and Dalvin Cook taking handoffs, but that's not great production for a team that jumped out to a 14-0 lead. 

Philadelphia Eagles (lost 27-13 to Indianapolis Colts)

The good: Devon Allen. The former track star started the night with a 73-yard kickoff return, as shown below, and he made a couple nice tackles as a gunner in punt coverage. His speed could be difference-making with clutch returns in tight games. 

The bad and the ugly: Not much to be too concerned about since the Eagles rested their starters while the Colts played theirs for the entire first half. Time for the NFC champions to play real ball games. 

Pittsburgh Steelers (defeated Atlanta Falcons 24-0)

The good: The starting offense is ready to roll. They scored touchdowns on both of their drives against the Falcons defensive backups, a rushing touchdown by each of their top two running backs, Najee Harris and Jaylen Warren. Second-year quarterback Kenny Pickett was perfect, completing all four of his passes for 86 yards. That total included two bombs to Diontae Johnson and George Pickens. Time for the regular season to begin.

The bad and the ugly: Nothing. The Steelers just completed a perfect 3-0 preseason, and they have plenty of reasons to feel good about their squad in 2023. 

San Francisco 49ers (lost 23-12 to Los Angeles Chargers)

The good: Starting quarterback Brock Purdy shook off some more rust, his elbow appears good to go for Week 1. He ran two drives with most of the starters, throwing for 73 yards on five-of-nine passing. His last play of the night was his most memorable, a five-yard touchdown scramble. 

The bad and the ugly: Sure, it's just the preseason finale, meaning most of the starters didn't play, but allowing a 75-yard touchdown in which Chargers running back Joshua Kelley is virtually untouched has to make 49ers defensive coordinator Steve Wilks' blood boil.

Seattle Seahawks (lost 19-15 to Green Bay Packers)

The good: Undrafted wide receiver Jake Bobo's acrobatic, diving 18-yard touchdown catch. The final preseason is all about players trying to secure the last few roster spots available. Bobo making a play like this will certainly give Pete Carroll and his staff pause when reviewing his credentials on cutdown day. 

The bad and the ugly: The Seahawks' third-quarter offense. Drew Lock and Co. struggled, gaining 24 yards on 14 plays. Every drive ended in a punt. Ugly, end of preseason football occurred. 

Tampa Bay Buccaneers (defeated New England Patriots 23-7)

The good: Baker Mayfield is thriving. He completed all six of his passes for 43 yards and a pretty 11-yard touchdown toss to Chris Godwin. 

The bad and the ugly: This game didn't count. The Buccaneers offense looked its best in their final preseason opportunity; time for real football. 

Tennessee Titans (defeated New England Patriots 23-7)

The good: Backup quarterback Malik Willis flashed plenty of positive moments, throwing for 211 yards, two touchdowns and two interceptions of 15-of-20 passing. His first touchdown toss, a 12-yarder to running back Julius Chestnut while scrambling left toward the line of scrimmage displayed nice, improvisational play.

His second one came on a play-action scramble toward the right sideline where Willis threaded the ball between two Patriots defenders for a 26-yard touchdown to undrafted rookie receiver Kearis Jackson. 

The bad and the ugly: Willis' inconsistency. Each touchdown drive was preceded by a drive or two by an interception. One came when Willis attempted to squeeze a pass over the middle into zone coverage, which was easily corralled by the Patriots defense.

The other wasn't his fault. Willis' short, low pass over the middle to 2023 fifth-round rookie tight end Josh Whyle went through his hands, bouncing into the arms of a nearby defender. Ultimately, the Titans would probably have appreciated Willis being able to take better care of the football this preseason. He threw three touchdowns and four picks in the three exhibitions. 

Washington Commanders (defeated Cincinnati Bengals 21-19)

The good: Undrafted rookie wide receiver Mitchell Tinsley working the scramble drill. The Penn State alum mirrored his movement toward the right sideline with Jacoby Brissett, positioning himself into wide open space for a 39-yard catch-and-run touchdown. That catch helped power him to an 89-yard day on three catches to lead all players in receiving. 

The bad and the ugly: Undrafted rookie wide receiver Kazmeir Allen may have played himself off of the Commanders roster. He dropped a couple passes and muffed a punt. Special teams is the best way for many back-end roster players to make an NFL team, but creating doubt as a returner could cause him to have an uncomfortable roster cutdown day.