One row per season: the longest hitting streak contained entirely within that season, with its dates and club. The era's best single-season run is Luis Castillo's 35-gamer of 2002.
| Season | Leader | Games | Dates | Club |
|---|---|---|---|---|
| 1988 | John Shelby | 24 | May 14, 1988 to Jun 9, 1988 | Los Angeles Dodgers |
| 1989 | Jerome Walton | 30 | Jul 21, 1989 to Aug 20, 1989 | Chicago Cubs |
| 1990 | Brian Harper | 25 | Jul 6, 1990 to Aug 4, 1990 | Minnesota Twins |
| 1991 | Brett Butler | 23 | Jun 15, 1991 to Jul 12, 1991 | Los Angeles Dodgers |
| 1992 | Lance Johnson | 25 | Jul 16, 1992 to Aug 11, 1992 | Chicago White Sox |
| 1993 | John Olerud | 26 | May 26, 1993 to Jun 22, 1993 | Toronto Blue Jays |
| 1994 | Rafael Palmeiro | 24 | Apr 23, 1994 to May 22, 1994 | Baltimore Orioles |
| 1995 | Dante Bichette | 23 | May 22, 1995 to Jun 18, 1995 | Colorado Rockies |
| 1996 | Marquis Grissom | 28 | Jul 25, 1996 to Aug 24, 1996 | Atlanta Braves |
| 1997 | Sandy Alomar | 30 | May 25, 1997 to Jul 6, 1997 | Cleveland Indians |
| 1998 | Eric Davis | 30 | Jul 12, 1998 to Aug 15, 1998 | Baltimore Orioles |
| 1999 | Vladimir Guerrero | 31 | Jul 27, 1999 to Aug 26, 1999 | Montreal Expos |
| 2000 | Gabe Kapler | 28 | Jul 17, 2000 to Aug 15, 2000 | Texas Rangers |
| 2001 | Ichiro Suzuki | 23 | Apr 22, 2001 to May 18, 2001 | Seattle Mariners |
| 2002 | Luis Castillo | 35 | May 8, 2002 to Jun 21, 2002 | Florida Marlins |
| 2003 | Albert Pujols | 30 | Jul 12, 2003 to Aug 16, 2003 | St. Louis Cardinals |
| 2004 | Carlos Lee | 28 | May 13, 2004 to Jun 15, 2004 | Chicago White Sox |
| 2005 | Johnny Damon | 29 | Jun 10, 2005 to Jul 17, 2005 | Boston Red Sox |
| 2006 | Chase Utley | 35 | Jun 23, 2006 to Aug 3, 2006 | Philadelphia Phillies |
| 2007 | Moises Alou | 30 | Aug 23, 2007 to Sep 26, 2007 | New York Mets |
| 2008 | Ian Kinsler | 25 | Jun 17, 2008 to Jul 13, 2008 | Texas Rangers |
| 2009 | Ryan Zimmerman | 30 | Apr 8, 2009 to May 12, 2009 | Washington Nationals |
| 2010 | Josh Hamilton | 23 | Jun 4, 2010 to Jun 30, 2010 | Texas Rangers |
| 2011 | Dan Uggla | 33 | Jul 5, 2011 to Aug 13, 2011 | Atlanta Braves |
| 2012 | Jose Reyes | 26 | Jul 13, 2012 to Aug 8, 2012 | Miami Marlins |
| 2013 | Denard Span | 29 | Aug 17, 2013 to Sep 18, 2013 | Washington Nationals |
| 2014 | Nolan Arenado | 28 | Apr 9, 2014 to May 8, 2014 | Colorado Rockies |
| 2015 | Edwin Encarnacion | 26 | Jul 26, 2015 to Aug 31, 2015 | Toronto Blue Jays |
| 2016 | Freddie Freeman | 30 | Aug 24, 2016 to Sep 28, 2016 | Atlanta Braves |
| 2017 | Odubel Herrera | 21 | Jul 28, 2017 to Sep 8, 2017 | Philadelphia Phillies |
| 2018 | Michael Brantley | 19 | May 9, 2018 to May 30, 2018 | Cleveland Indians |
| 2019 | Wilson Ramos | 26 | Aug 3, 2019 to Sep 3, 2019 | New York Mets |
| 2020 | Jose Abreu | 22 | Aug 16, 2020 to Sep 9, 2020 | Chicago White Sox |
| 2021 | David Fletcher | 26 | Jun 13, 2021 to Jul 17, 2021 | Los Angeles Angels of Anaheim |
| 2022 | Trea Turner | 26 | May 9, 2022 to Jun 3, 2022 | Los Angeles Dodgers |
| 2023 | Marcus Semien | 25 | May 10, 2023 to Jun 6, 2023 | Texas Rangers |
| 2024 | Bryan Reynolds | 25 | Jun 1, 2024 to Jun 29, 2024 | Pittsburgh Pirates |
| 2025 | Bobby Witt | 22 | Apr 8, 2025 to May 1, 2025 | Kansas City Royals |
These are within-season streaks only: a streak that carried across an off-season (Jimmy Rollins' 38-gamer of 2005-06) counts on the era leaderboard, not here, so the two pages never double-list the same run. The longest run fully inside one season is the leader for that season, even when a longer cross-season streak overlapped it.
Derivation rules are the same as the era leaderboard: hits extend a streak, official at-bats without a hit end it, walk-only games and team changes do not. Every player-season behind these rows matched the independently staged season aggregate exactly.
The information used here was obtained free of charge from and is copyrighted by Retrosheet. Interested parties may contact Retrosheet at www.retrosheet.org. Archived and published by Legends Deck.