Who was the best NFL player without a possession?

On December 14th, 2024, Travis Hunter won the Heisman Trophy, the award for the best player in college football that year. On April 24th, at the 2025 NFL draft, we are going to hear his name get called, and watch the most dynamic two-way player since Deion Sanders, his college coach, get drafted. His skills on both sides of the ball make him an absolute outlier in modern football.

Most NFL players live on either offense or defense. But, it wasn’t always this way. The one-platoon system, where the same players played both offense and defense, was the standard in the NFL until 1943 due to rules requiring players to sit for the rest of the half or quarter if they came out of the game. With the implementation of unlimited substitutions in 1943, teams rapidly realized how beneficial it was to have specialized players for offense and defense.

Now, football has evolved into a game of hyper-specialization. On offense, only specific players are allowed to catch a forward pass, lest they suffer an illegal touching penalty. On defense, linebackers are frequently pulled off the field in favor of another defensive back to better defend the offensive personnel. Each position has a strictly defined set of rules and responsibilites. And, unlike most other sports, there is a group of players, linemen, who are never intended to touch the football. Fans, broadcasters, and fellow players alike celebrate when big men get the football and start rumbling down the field, in part because of how rare and almost unnatural it seems. This compelled me to ask the question: Who has had the best career in the NFL without ever holding the football?

The Rules

First, let me clarify what I mean by “holding the football”. I am specifically interested in the best NFL player who never had posession of the football during any of their NFL games. This means they cannot have any passing attempts, rushing attempts, receptions, or yards of any kind, including special teams. Also, they cannot have recovered any fumbles or picked off any passes. As for determining the “best” player out of those who remain, I think using games played as a proxy is helpful. A player who played 10 seasons but never got the ball obviously contributed in many other ways, otherwise they would be out of the league. Statistics won’t tell the whole story, especially given offensive lineman’s lack of counting stats in a box score, so I will individually investigate the top players after I get my short list of contenders.

Before I dive into the actual data, let’s mentally narrow down who is in the running for this award. This immediately disqualifies all offensive players who got the ball, eliminating all quarterbacks, runningbacks, receivers, and tight ends (if they caught a passes). This leaves only offensive linemen and tight ends who never caught a pass, which basically means only offensive linemen. Of course, only offensive linemenwho haven’t falled on a fumble either. On the defensive side, it doesn’t technically outright eliminate any entire positions. However, it seems like it would eliminate defensive backs and most linebackers. It seems hard to imagine a player in the secondary with no interceptions having a better overall career than a defensive lineman with no fumble recoveries. Lastly, kickers and punters are not eligible. Punters clearly possess the ball prior to punting it, and while it’s more gray with kickers, it feels against the spirit of my question.

The Data

I will be using the dataset outlined in my last post. It contains the careers statistics of all NFL players in history, scraped from the Pro Football Reference website.

First, I’m going to add some helper columns and combine regular and postseason games played and starts for easier viewing.

player_stats = pd.read_csv('player_stats.csv')

player_stats['career_length'] = player_stats['career_end'] - player_stats['career_begin'] + 1
player_stats['games'] = player_stats['games_reg'] + player_stats['games_post']
player_stats['games_started'] = player_stats['games_started_reg'] + player_stats['games_started_post']
player_stats['start_pct'] = player_stats['games_started'] / player_stats['games']

I want to cut all players with any possessions, meaning pass attempts, rush attempts, receptions, kick returns, or punt returns, as well as any interceptions or fumbles recovered, in either the regular season or postseason.

players = player_stats[
    (player_stats['position'] != 'K') &
    (player_stats['position'] != 'P') &
    (player_stats['pass_att_reg'] == 0) &
    (player_stats['pass_att_post'] == 0) &
    (player_stats['rush_att_reg'] == 0) &
    (player_stats['rush_att_post'] == 0) &
    (player_stats['rec_reg'] == 0) &
    (player_stats['rec_post'] == 0) &
    (player_stats['def_int_reg'] == 0) &
    (player_stats['def_int_post'] == 0) &
    (player_stats['fumbles_rec_reg'] == 0) &
    (player_stats['fumbles_rec_post'] == 0) &
    (player_stats['punt_ret_reg'] == 0) &
    (player_stats['punt_ret_post'] == 0) &
    (player_stats['kick_ret_reg'] == 0) &
    (player_stats['kick_ret_post'] == 0)
]

Finally, I want to sort the resulting players by total games played and display the relevant columns for the top 10 players.

players = players.sort_values(by='games', ascending=False)
players_display = players[['name', 'position', 'career_length', 'games', 'games_started', 'start_pct']]
players_display.head(10)
  name position career_length games games_started start_pct
12226 J.J. Jansen C 16 267 0 0
17794 Don Muhlbach C 17 263 0 0
10661 Dale Hellestrae T-G-C 17 226 4 0.0176991
23218 Justin Snow TE 13 218 0 0
10176 Clark Harris TE 15 216 0 0
10229 Josh Harris LS 13 216 0 0
6469 Jon Dorenbos C 14 209 0 0
16718 Jake McQuaide LS 14 207 0 0
17638 Mike Morris C-G 13 198 0 0
3819 Joe Cardona LS 10 173 0 0

On first glance, this seems promising. A mix of offensive linemen and tight ends, with a couple long snappers. But looking closer, it’s odd that almost none of the top 10 have started a game, except Dale Hellestrae, who seems to be an gadget offensive linemen. Looking at J.J. Jansen’s Pro Football Reference page, we find the devil is in the details. Despite being listed as a center in his header, for each season he has played, he is actually been listed as a long snapper. Everyone else on this list, they’re all long snappers as well. I’ve essentially compiled a list of long snappers who haven’t done anything besides long snapping, sorted by games played. Not at all what I wanted.

Looking further down the list, it seems like the first player who isn’t a long snapper on this list is Tim Ruddy. A legitimate center, he played 156 games across 10 years, starting 140 of them, with a Pro Bowl selection in 2000. However, as a center, he has 3 fumbles credited to him due to bad snaps. You can watch one of them here. This one specifically looks like it’s all on Ruddy to me. When he snaps the ball, Marino is looking at the sideline, clearly not expecting the snap. I think for the sake of this question, fumbling the ball means necessitates that you had possession of it, thus eliminating all centers and long snappers seen before. 1

The next real offensive lineman seems to be Rudy Comstock. A guard and tackle, he had a 11 year career that spanned 152 games and 127 starts. However, he played in the 1920s and 30s. Individual stat keeping and box scores don’t span back that far, so we have no real way of telling if Comstock ever possessed the football on the field or not.

The first defensive player on the list is Ramon Humber. A linebacker who played 148 games and started 30 across 10 years. He racked up 312 combined tackles and 4.5 sacks. But looking at his snaps counts, which PFR has tracked since 2012, he struggled to consistently see the field on defense, with the majority of his snaps coming on special teams. A good career, for sure, but not the caliber of player I thought I would arrive at. And honestly, not a satisfying answer to me.

Reconsidering

What if I revise my original question? I thought I was going to find some of the best linemen across NFL history, not players from the 1920s and an average defensive starter. Now that I’ve seen just how strict my requirements were before, I want to see what kinds of players I get if loosen the standards to see if I can satisfyingly answer this odd question about football players with no football. I think the “no fumble recoveries” requirement is what’s eliminating many of the great linemen, both offensive and defensive. Fumble recoveries are not exactly a skill, they’re more of a “right place, right time” thing. And the more snaps you’re on the field for, the more fumbles you’ll witness, and the more chances you have to dive on a loose ball at least once in your career. I need to bend the rules here to allow for players to have recovered some fumbles. But, I still want to make sure these players don’t have any fumble returns, and definitely no scoop and scores. I’m going to rerun this list, but change the no fumble recoveries to no fumble recovery yards. To eliminate all the long snappers, I’m going to also set a requirement that a player’s percentage of games started is greater than 50%. Lastly, I’m going to add the requirement of no fumbles, given that we established that a player who fumbles must necessarily have had posession earlier.

player_stats['position_list'] = player_stats['position'].str.split('-')

players = player_stats[
    (player_stats['position'] != 'K') &
    (player_stats['position'] != 'P') &
    (player_stats['pass_att_reg'] == 0) &
    (player_stats['pass_att_post'] == 0) &
    (player_stats['rush_att_reg'] == 0) &
    (player_stats['rush_att_post'] == 0) &
    (player_stats['rec_reg'] == 0) &
    (player_stats['rec_post'] == 0) &
    (player_stats['def_int_reg'] == 0) &
    (player_stats['def_int_post'] == 0) &
    (player_stats['fumbles_reg'] == 0) &
    (player_stats['fumbles_post'] == 0) &
    (player_stats['fumbles_rec_yds_reg'] <= 0) &
    (player_stats['fumbles_rec_yds_post'] <= 0) &
    (player_stats['punt_ret_reg'] == 0) &
    (player_stats['punt_ret_post'] == 0) &
    (player_stats['kick_ret_reg'] == 0) &
    (player_stats['kick_ret_post'] == 0) & 
    (player_stats['start_pct'] > 0.5)
]
players = players[players['position_list'].apply(lambda x: 'C' not in x)]

players = players.sort_values(by='games', ascending=False)
players_display = players[['name', 'position', 'career_length', 'games', 'games_started', 'start_pct']]
players_display.head(10)
  name position career_length games games_started start_pct
3039 Ray Brown G-T 20 274 216 0.788321
13549 Mike Kenn T 17 257 257 1
20871 Jim Ritcher G 16 238 180 0.756303
17394 Max Montoya G 16 234 206 0.880342
2928 Duane Brown T 16 229 227 0.991266
23654 Todd Steussie T 14 228 199 0.872807
8940 Kevin Gogan G-T 14 227 189 0.832599
19611 Ryan Pickett DT 14 224 198 0.883929
8438 Wayne Gandy T 15 223 209 0.93722
7420 Alan Faneca G-T 13 220 215 0.977273

That’s more like it. The list now contains excellent offensive linemen with long careers, which is to be expected. As stated previously, offensive lineman careers are challenging to evaluate solely with statistics, especially for older players. Career length or games played are not the right way to rank them. It merely helps us narrow down the candidates. The list above is the top 10 remaining players by games played. Which seems good, but if you look just outside the top 10, we find notable players like Larry Allen. Only 10 or so games played separate him from our top 10. It seems wrong to choose a game cutoff to determine our best player. Instead, I’m going to institute a requirement of at least a 10 year long career, then evaluate the entire list. The full table of eligible players is long, so I’ve hidden it in a collapsible section below. Click the header to see the full list.

Full Player List
name position career_length games games_started start_pct
Ray Brown G-T 20 274 216 0.788321
Mike Kenn T 17 257 257 1.000000
Jim Ritcher G 16 238 180 0.756303
Max Montoya G 16 234 206 0.880342
Duane Brown T 16 229 227 0.991266
Todd Steussie T 14 228 199 0.872807
Kevin Gogan G-T 14 227 189 0.832599
Ryan Pickett DT 14 224 198 0.883929
Wayne Gandy T 15 223 209 0.937220
Alan Faneca G-T 13 220 215 0.977273
Steve Wisniewski G 13 215 215 1.000000
Larry Allen G-T 14 213 207 0.971831
Len Rohde T 15 213 184 0.863850
Will Wolford T-G 13 211 211 1.000000
William Roberts G-T 14 209 165 0.789474
Flozell Adams T-G-TE 13 208 204 0.980769
Henry Lawrence T-G 13 207 161 0.777778
Kevin Donnalley G-T 13 207 153 0.739130
Russ Washington T-DT 15 205 201 0.980488
Harry Swayne T-DE 15 204 126 0.617647
Brad Hopkins T 13 204 198 0.970588
Winston Hill T 15 201 185 0.920398
Willie Anderson T 13 199 188 0.944724
Keith Van Horne T 13 198 181 0.914141
Tony Jones T-G 13 197 186 0.944162
Steve Wallace T-G 12 197 142 0.720812
Richmond Webb T 13 197 196 0.994924
Joe Devlin T-G 14 197 185 0.939086
Bob Young G-DE-DT 16 197 152 0.771574
Charles Mann DE 12 196 159 0.811224
Paul Howard G 14 195 155 0.794872
Larry Little G-T 14 195 167 0.856410
Dave Lutz T-G 13 195 179 0.917949
Glenn Parker G-T 12 193 157 0.813472
Jeff Backus T 12 192 192 1.000000
Brian Waters G 14 192 176 0.916667
Willie Roaf T 13 192 192 1.000000
Tom Neville T 15 192 150 0.781250
Fred Miller T-G 13 192 164 0.854167
Joe Jacoby T-G 13 191 167 0.874346
Tra Thomas T 12 191 185 0.968586
Marshal Yanda G 13 191 180 0.942408
Bryant McKinnie T 12 190 173 0.910526
Barney Chavous DE-DT 13 190 185 0.973684
Walter Jones T 12 190 190 1.000000
Dave Szott G 14 189 183 0.968254
John Alt T 13 189 158 0.835979
Joe DeLamielleure G 13 188 178 0.946809
Andy Heck T-G 12 188 167 0.888298
Norm Evans T 14 188 166 0.882979
Rodger Saffold T 13 187 184 0.983957
Renaldo Wynn DE-DT 13 187 132 0.705882
Howard Ballard T 11 186 168 0.903226
Paul Gruber T 12 185 185 1.000000
Ed Budde G 14 184 168 0.913043
John Williams T-G-DE 12 184 144 0.782609
Jake Matthews OT 11 184 184 1.000000
Brian Habib G-T 11 183 141 0.770492
Barry Sims T-G 12 181 148 0.817680
Kelvin Beachum T 13 181 163 0.900552
Chris Chester G 11 181 153 0.845304
Mike Wilson T 12 180 178 0.988889
Tyron Smith OT 14 180 180 1.000000
Orlando Pace T 13 179 175 0.977654
John Parrella DT 12 179 115 0.642458
Chad Clifton T 12 178 173 0.971910
Ed Newman G 12 177 119 0.672316
Leonard Davis T-G 12 177 158 0.892655
Kareem McKenzie T 11 176 168 0.954545
Bruce Davis T-G 11 176 127 0.721591
Jordan Gross T 11 176 176 1.000000
David Diehl G-T 11 175 171 0.977143
Matt Light T 11 175 173 0.988571
Jeff Criswell T-G 12 174 148 0.850575
Bobbie Williams G 12 173 140 0.809249
Ryan Diem T-G 11 173 166 0.959538
Doug Van Horn G-T 14 172 154 0.895349
Dave Rowe DT-NT 12 172 149 0.866279
Morgan Moses OT 11 171 163 0.953216
Zack Martin G 11 171 171 1.000000
Ramon Foster T 11 171 156 0.912281
James Williams T-DE-DT 12 170 146 0.858824
Gerard Warren DT 11 170 141 0.829412
Shaq Mason G 10 169 164 0.970414
Dan Hampton DE-DT 12 169 162 0.958580
Eric Winston T 12 168 130 0.773810
Todd Perry G 11 168 147 0.875000
Zach Strief G 12 168 98 0.583333
Joe Walter T-G 13 168 138 0.821429
John Ayers G-T 11 167 147 0.880240
Jason Ferguson DT-NT 13 167 135 0.808383
D\'Brickashaw Ferguson T 10 167 167 1.000000
Ephraim Salaam T 13 167 133 0.796407
Michael Brockers DT 11 166 163 0.981928
Ken Jones T-DE 12 166 144 0.867470
George Starke T 12 166 156 0.939759
Marco Rivera G 10 166 149 0.897590
Greg Koch T-G 11 164 148 0.902439
Joel Bitonio G 11 163 163 1.000000
Ken Ruettgers T 12 163 147 0.901840
DaQuan Jones DT 11 163 157 0.963190
Nate Solder T 11 162 159 0.981481
Rich Baldinger G-T 12 162 110 0.679012
Benji Olson G 10 161 149 0.925466
Josh Sitton G 11 161 151 0.937888
Ben Davidson DE-DT 11 161 118 0.732919
Erik Williams T 11 161 146 0.906832
Reggie Doss DE-DT 10 161 95 0.590062
Tootie Robbins T 12 160 148 0.925000
Stan Walters T 12 160 155 0.968750
Herbert Scott G-T 10 160 130 0.812500
Jason Fabini T 11 160 137 0.856250
Joe Klecko DT-NT-DE 12 160 147 0.918750
Doug Betters DE 10 159 116 0.729560
Craig Wolfley G-T 12 159 108 0.679245
Bruce Wilkerson T-G 11 158 100 0.632911
Zefross Moss T 11 158 141 0.892405
Alan Branch DT 11 158 94 0.594937
Denico Autry DE 11 158 95 0.601266
Matt Lepsis T 10 158 138 0.873418
Harris Barton T-G 10 157 153 0.974522
Grady Jarrett DT 10 157 142 0.904459
Broderick Thompson T-G 12 156 138 0.884615
Cody Risien T-G 11 156 150 0.961538
James Hurst OT 10 156 98 0.628205
Chris Canty DE 11 156 135 0.865385
Jim Dombrowski G-T 11 155 141 0.909677
T.J. Lang G-T 10 154 124 0.805195
Jermon Bushrod T 12 154 135 0.876623
Rob Havenstein OT 10 153 153 1.000000
Brandon Moore G 10 153 151 0.986928
Chris Snee G 10 152 152 1.000000
Joe Carollo T 12 152 119 0.782895
Elmer Collett G 11 152 103 0.677632
Rudy Comstock G-T 11 152 127 0.835526
Robert Brown DT-DE 11 152 110 0.723684
Irv Eatman T 11 152 120 0.789474
Billy Shields T 11 151 126 0.834437
Doug Riesenberg T 10 151 138 0.913907
Charles Leno Jr. OG 10 151 143 0.947020
Dan Sullivan G-T 11 150 98 0.653333
Charles Johnson DE 11 150 120 0.800000
Ray Schoenke G-T 13 150 102 0.680000
Roman Oben T 12 149 135 0.906040
Harry Schuh T 10 149 120 0.805369
Mike Tilleman DT 11 149 137 0.919463
L.J. Shelton T 10 148 127 0.858108
Tom Condon G 12 148 131 0.885135
Wade Smith T 12 148 102 0.689189
Ed Simmons T-G 11 147 106 0.721088
Steve Riley T 11 147 137 0.931973
Terron Armstead OT 12 146 142 0.972603
Adam Snyder T-G 10 146 90 0.616438
Randy Thomas G 11 146 146 1.000000
Evander Hood DT 10 146 76 0.520548
Arik Armstead DE 10 145 110 0.758621
Russell Okung T 11 145 145 1.000000
Mark Gastineau DE 10 144 112 0.777778
Rufus Mayes T-G 11 144 114 0.791667
Chris Samuels T 10 144 144 1.000000
Brandon Scherff G 10 144 144 1.000000
Ed Husmann DT-G-DE-LB 13 144 104 0.722222
Derrick Dockery G 10 143 117 0.818182
Marcus Cannon T 12 143 88 0.615385
Bob Newton G-T 11 142 108 0.760563
Kenyon Coleman DE 11 142 81 0.570423
Bob Kowalkowski G 12 142 102 0.718310
Ma\'ake Kemoeatu DT 11 142 91 0.640845
Jon Jansen T 11 141 129 0.914894
Ron Edwards DT 12 141 98 0.695035
Gilbert Brown DT 11 141 116 0.822695
Chris Clark T 10 141 82 0.581560
Bill Owen T-G 11 140 100 0.714286
Art Donovan DT-T 12 140 138 0.985714
David Bakhtiari OT 11 140 140 1.000000
Len St. Jean G 10 140 112 0.800000
Paul Soliai DT 10 139 87 0.625899
Bryan Bulaga T 12 139 135 0.971223
Bruce Reimers G-T 10 139 95 0.683453
Evan Mathis G 12 139 98 0.705036
Edwin Mulitalo G 10 139 135 0.971223
John Wooten G 10 139 110 0.791367
Jim Lachey T 11 138 136 0.985507
Marvin Powell T 11 138 135 0.978261
John Brown T 10 138 101 0.731884
Jon Giesler T 10 138 116 0.840580
Demar Dotson T 12 138 114 0.826087
Kendall Langford DE 10 137 114 0.832117
James Carpenter LG 11 137 127 0.927007
Steve Wright T-G-TE 12 137 70 0.510949
Sam Adams G-T 10 137 123 0.897810
George Musso G-T 12 136 89 0.654412
John Gordy G-T 11 136 128 0.941176
Corbin Lacina G 10 135 82 0.607407
Earl Dotson T 10 135 99 0.733333
Jermane Mayberry G-T 10 134 114 0.850746
Conrad Dobler G 10 134 129 0.962687
Justin Pugh OG 11 134 133 0.992537
Mickey Marvin G 11 133 119 0.894737
Joe Bostic G-T 10 133 116 0.872180
John Jerry G 10 133 107 0.804511
Orlando Brown T 12 132 122 0.924242
Andrus Peat OT 10 132 109 0.825758
Kevin Call T 10 131 88 0.671756
Dave Herman G-T 10 131 121 0.923664
Bruce Van Dyke G 11 131 124 0.946565
Chris Liwienski G-T 10 130 96 0.738462
Dave Reavis T-G 10 130 89 0.684615
Vince Promuto G 11 130 113 0.869231
Jim Cadile G-T 11 129 107 0.829457
Jeff Blackshear G 10 129 96 0.744186
Anthony Clement T 10 129 108 0.837209
Bob Brown T 10 128 126 0.984375
Harvey Salem T-G 10 128 107 0.835938
Fuzzy Thurston G 10 127 97 0.763780
Vaughn Parker T 11 126 108 0.857143
Andre Smith T 13 126 102 0.809524
Walt Kiesling G-T 13 126 81 0.642857
Terry Hermeling T-G-DE 11 125 108 0.864000
Matt Herkenhoff T 10 125 122 0.976000
Damion McIntosh T 10 125 113 0.904000
Matt O\'Dwyer G 10 124 107 0.862903
Seth Payne DT-NT 10 124 99 0.798387
Matt Joyce G-T 10 124 71 0.572581
Wade Key G-T 10 124 118 0.951613
Bob Heinz DT-DE 10 122 65 0.532787
Brandon Brooks G 10 122 114 0.934426
Ray Krouse DT-DE-T 10 122 91 0.745902
Bubba Smith DE-DT 10 122 93 0.762295
Travelle Wharton T-G 10 120 116 0.966667
Garry Puetz G-T 10 120 73 0.608333
Richard Neal DE-DT 10 120 96 0.800000
Ryan Harris T 10 119 73 0.613445
Reggie Wells G-T 10 119 93 0.781513
Brett Miller T 10 118 63 0.533898
Erik Pears T 10 117 102 0.871795
Marc Colombo T 10 115 99 0.860870
Alex Boone T 11 114 92 0.807018
Doug Dawson G 11 113 77 0.681416
Ed Cook T-G 10 112 68 0.607143
Kris Jenkins DT 10 112 106 0.946429
Will Montgomery G 10 112 77 0.687500
Clarence Jones T 10 111 88 0.792793
Billy Turner OT 10 110 82 0.745455
Derrick Burgess DE-LB 10 109 76 0.697248
Adam Meadows T 10 109 102 0.935780
Chris Hubbard G 11 108 61 0.564815
Keydrick Vincent G 10 108 87 0.805556
Trent Brown OT 10 107 100 0.934579
Tony Pashos T 10 107 85 0.794393
Daniel Kilgore G 10 106 60 0.566038
Bob Kilcullen DT-DE-T 10 105 57 0.542857
Willie Colon G 10 104 104 1.000000
Frank Cope T 10 104 64 0.615385
Gordon King T-G 10 102 64 0.627451
Josh Evans DT 10 100 59 0.590000
Jim Skaggs G-T 10 100 83 0.830000
Ken Sanders DE 10 100 78 0.780000
Breno Giacomini G 10 99 91 0.919192
Eddie Goldman DT 10 99 84 0.848485
Steve Owen T-G 10 98 84 0.857143
J\'Marcus Webb T 11 98 75 0.765306
Stan Campbell G 11 97 68 0.701031
Conway Baker G-T 10 96 54 0.562500
Dick Stahlman T-G 10 70 50 0.714286
Eddie Michaels G 11 63 38 0.603175
Al Jolley T 10 35 26 0.742857

There are 267 players on the full list. Mostly offensive linemen, with some defensive linemen in there too. Without extensive statistics to look at, I’m turning to accolades. Even still, there are so many Pro Bowls, All-Pro teams, and Super Bowls rings across this list that it becomes incredibly tricky to compare them to each other. Luckily for me, I don’t personally need to compare these players’ careers, as the broader football community has already done this, and chose to give the highest honor to 10 of them. All of the following players have been inducted into the Pro Football Hall of Fame. 2

From here, selecting the best player gets hazy. Staying true to the original question, Walter Jones has the fewest fumble recoveries on this entire list. So he may be the best answer if you value minimizing total posessions. Dan Hampton and Joe Klecko are the only two defensive players from the modern era of the NFL. Hampton edges out Klecko in sacks, at 82.5 versus 78, but Klecko transistioned to a nose tackle at the end of his career, trading sacks numbers for impactful run stopping.

My Pick

Personally, my pick for the best player is Larry Allen. He has only 4 fumble recoveries in over 200 games played, the most on the list, with some of the most impressive accolades out there. A Super Bowl champion, he made 11 Pro Bowls, 6 All-Pro teams, and both the 1990s and 2000s Hall of Fame all decade teams. The most impressive part to me is his versatility on the offensive line. He started his career at right tackle, before being moved to right guard. As a guard, he was given 2 first team All-Pro honors and selected to 3 consecutive Pro Bowls, despite splitting time between guard and left tackle in the third season due to injuries. The next season, he started at left tackle, protecting Troy Aikman’s blindside. In this year, he received yet another first team All-Pro nod and Pro Bowl selection, becoming the first player to do so at 2 different offensive lineman positions. On top of that, the Dallas offensive line gave up just 19 sacks on 493 pass plays, anchored by Larry Allen on the blindside. After that year, he moved to left guard, where he stayed for the rest of his career, and continued to dominate. While my approach is unscientific and contains quite a few personal judgements, I declare Larry Allen to be the best NFL player to never carry the football.

If you took the time to read all this, thank you. Check back again soon to stay up to date on my recent blog posts.

  1. On top of these fumbles, it seems like Ruddy also has a postgame reception in 1998. Not sure why my scraper missed that one, as Ruddy’s postseason targets, receptions, and receiving yards all show as 0 in my dataset. It’s certainly something for me to look into, regardless of the fact that he’s not our winner for this question. 

  2. Looking only at Hall of Famers excludes any active players or recently retired players, but this seems alright to me. Maybe I’ll revisit this topic in ten years to see how things have changed.