thumb|150px|Barry Bonds joined the 30–30 club in five seasons, a record he shares with his father [[Bobby Bonds|Bobby.|alt=An African-American man in a white baseball uniform with "GIANTS" on the chest takes a left-handed baseball swing as a catcher kneels behind him to receive the pitch.]]
In Major League Baseball (MLB), the 30–30 club is the group of 51 batters who have collected 30 home runs and 30 stolen bases in a single season. Baseball Digest called the 30–30 club "the most celebrated feat that can be achieved by a player who has both power and speed." He remained the sole member of the club for 34 years until Willie Mays achieved consecutive 30–30 seasons in 1956 and 1957. Bobby Bonds became the club's fourth member in 1969; he subsequently became the first player to achieve the mark in three, four, and five seasons. The only other player to play for multiple franchises in a 30–30 season is Carlos Beltrán in 2004, who amassed 15 home runs and 14 stolen bases with the Kansas City Royals before being traded to the Houston Astros and hitting 23 home runs and stealing 28 bases.
Five players – Hank Aaron, Barry Bonds, Willie Mays, Alex Rodriguez and Sammy Sosa – are also members of the 500-home-run club, and Aaron, Mays and Rodriguez are also members of the 3,000-hit club. Dale Murphy, Jose Canseco, Barry Bonds, Larry Walker, Jimmy Rollins, Ryan Braun, Mookie Betts, Ronald Acuña Jr., and Shohei Ohtani won the Most Valuable Player (MVP) Award in the same year as their 30–30 season; Bonds did so twice, in 1990 and 1992. Mays and Rollins also reached the 20–20–20 club in the same season. The feat has been accomplished by teammates three times: the 1987 New York Mets (Darryl Strawberry and Howard Johnson), the 1996 Colorado Rockies (Ellis Burks and Dante Bichette) and the 2025 New York Mets (Juan Soto and Francisco Lindor). Bobby Witt Jr. of the Kansas City Royals was the first shortstop to achieve multiple 30–30 seasons, reaching this milestone in both 2023, with 30 home runs and 49 stolen bases, and 2024, with 32 home runs and 31 stolen bases, before being joined by Francisco Lindor who had his first 30-30 season in 2023 having both 31 home runs and stolen bases, then doing it again in 2025 with 31 home runs and stolen bases. Mike Trout became the youngest member of the 30–30 club, doing so at the age of 20 in 2012. The oldest players to record a 30–30 season did so in their age-32 season: José Ramírez (2025), Barry Bonds (1997), Dante Bichette (1996), Ellis Burks (1996), Bobby Bonds (1978), and Ken Williams (1922).
Members
[[File:Willie Mays cropped.jpg|thumb|150px|Willie Mays became the first player to achieve multiple 30–30 seasons; he accomplished the feat in back-to-back years.
|-
|
!scope="row" style="text-align:center; background-color: #ffffbb"|
|New York Giants||||||
|-
|
!scope="row" style="text-align:center; background-color: #ffffbb"|
|New York Giants||||||
|-
|
!scope="row" style="text-align:center"|
|San Francisco Giants||||||
|-
|
!scope="row" style="text-align:center"|
|Milwaukee Brewers||||||
|-
|
!scope="row" style="text-align:center"|
|San Francisco Giants||||||
|-
| rowspan="4" |
!scope="row" style="text-align:center"|
|Cleveland Indians||||||
|-
!scope="row" style="text-align:center"|
|Cincinnati Reds||||||
|-
!scope="row" style="text-align:center"|
|New York Mets||||||
|-
!scope="row" style="text-align:center"|
|New York Mets||||||
|-
|
!scope="row" style="text-align:center"|
|Oakland Athletics||style="background-color:#eeabab;"|||style="background-color:#eeabab;"|||
|-
|
!scope="row" style="text-align:center"|
|New York Mets||||||
|-
!scope="row" style="text-align:center"|
|Atlanta Braves||||||
|-
| rowspan="2" |
!scope="row" style="text-align:center"|
|Atlanta Braves||||||
|-
| rowspan="2" |
!scope="row" style="text-align:center"|
|San Francisco Giants||||||
|-
!scope="row" style="text-align:center"|
|San Francisco Giants||style="background-color:#eeabab;"|||style="background-color:#eeabab;"|||
|-
!scope="row" style="text-align:center; background-color: #ffffbb"|
|Cincinnati Reds||||||
|-
| rowspan="4" |
!scope="row" style="text-align:center; background-color: #ffffbb"|
|Houston Astros||||||
|-
!scope="row" style="text-align:center"|
|San Francisco Giants||||||
|-
!scope="row" style="text-align:center; background-color: #ffffbb"|
|Colorado Rockies||||||
|-
| rowspan="2" |
!scope="row" style="text-align:center"|
|Toronto Blue Jays||||||
|-
!scope="row" style="text-align:center"|
|Seattle Mariners||style="background-color:#eeabab;"|||style="background-color:#eeabab;"|||
|-
| rowspan="2" |
!scope="row" style="text-align:center; background-color: #ffffbb"|
|Houston Astros||||||
|-
| rowspan="3" |
!scope="row" style="text-align:center"|
|Philadelphia Phillies||||||
|-
!scope="row" style="text-align:center"|
|Toronto Blue Jays||||||
|-
!scope="row" style="text-align:center; background-color: #ffffbb"|
|Montreal Expos||||||
|-
| rowspan="2" |
!scope="row" style="text-align:center; background-color: #ffffbb"|
|Montreal Expos||||||
|-
|
!scope="row" style="text-align:center"|
|New York Yankees||||||
|-
|
!scope="row" style="text-align:center"|
|Texas Rangers||||||
|-
!scope="row" style="text-align:center"|
|Philadelphia Phillies||||||
|-
!scope="row" style="text-align:center"|
|New York Mets||||||
|-
| rowspan="2" |
!scope="row" style="text-align:center"|
|Florida Marlins||||||
|-
!scope="row" style="text-align:center"|
|Cleveland Indians||||||
|-
|
!scope="row" style="text-align:center"|
|Texas Rangers||||||
|-
| rowspan="4" |
!scope="row" style="text-align:center"|
|Milwaukee Brewers||||||
|-
!scope="row" style="text-align:center"|
|Boston Red Sox||||||
|-
!scope="row" style="text-align:center"|
|Los Angeles Dodgers||||||
|-
!scope="row" style="text-align:center"|
|Texas Rangers||||||
|-
| rowspan="2" |
!scope="row" style="text-align:center; background:#cfecec;"|
|Boston Red Sox||||||
|-
!scope="row" style="text-align:center; background:#cfecec;"|
|Cleveland Indians||||||
|-
| rowspan="2" |
!scope="row" style="text-align:center; background:#cfecec;"|
|Atlanta Braves
|
|
|
|-
!scope="row" style="text-align:center; background:#cfecec;"|
|Milwaukee Brewers
|
|
|
|-
|
!scope="row" style="text-align:center; background:#cfecec;"|
|Baltimore Orioles
|
|
|
|-
| rowspan="4" |
!scope="row" style="text-align:center; background:#cfecec;"|
|Atlanta Braves
|style="background-color:#eeabab;"|
|style="background-color:#eeabab;"|
|
|-
!scope="row" style="text-align:center; background:#cfecec;"|
|Seattle Mariners
|
|
|
|-
!scope="row" style="text-align:center; background:#cfecec;"|
|Kansas City Royals
|
|
|
|-
| rowspan="3" |
!scope="row" style="text-align:center; background:#cfecec;"|
|Los Angeles Dodgers
|style="background-color:#dfd;|
|style="background-color:#dfd;|
|
|-
!scope="row" style="text-align:center; background:#cfecec;"|
|Cleveland Guardians
|
|
|
|-
!scope="row" style="text-align:center; background:#cfecec;"|
|Kansas City Royals
|
|
|
|-
!scope="row" style="text-align:center; background:#cfecec;"|
|New York Yankees
|
|
|
|-
! scope="row" style="text-align:center; background:#cfecec;" |
|Chicago Cubs
|
|
|
|-
! scope="row" style="text-align:center; background:#cfecec;" |
|New York Mets
|
|
|
|-
! scope="row" style="text-align:center; background:#cfecec;" |
|Cleveland Guardians
|
|
|
|-
! scope="row" style="text-align:center; background:#cfecec;" |
|Seattle Mariners
|
|
|
|-
|}
See also
- Baseball statistics
- Triple Crown
- 20–50 club
- 40–40 club
Notes
References
General
Specific
