As of the completion of the 2018-19 NHL season -- the 101st regular season of play of the National Hockey League -- a total of 45 players have scored at least 500 regular season goals in their NHL career.
A 500-goal career was first achieved in 1957-58, the 41st season of the NHL, when Maurice Richard scored his 500th goal in his 863rd game played. The most recent player to score 500 goals is Patrick Marleau, who did so on February 2, 2017.
The 2006-07 NHL season saw the largest number of players (five) achieve their 500th goal (Teemu Selänne, Mike Modano, Mark Recchi, Mats Sundin, and Peter Bondra). A total of four players scored their 500th goal in the 1995-96 season (Mario Lemieux, Steve Yzerman, Mark Messier, and Dale Hawerchuk).
Starting with Maurice Richard's achievement in the 1957-58 NHL season, the greatest stretch between 500 goal scorers was the eight seasons between Gordie Howe in the 1961-62 season and Bobby Hull in the 1969-70 season.
The 45 players to score 500 goals consist of 32 Canadians[note 1], five Americans (Brett Hull, Joe Mullen, Mike Modano, Jeremy Roenick, and Keith Tkachuk), three Slovaks (Stan Mikita, Peter Bondra and Marián Hossa)[note 2], two Finns (Jari Kurri and Teemu Selänne), one Czech (Jaromír Jágr), one Swede (Mats Sundin), and one Russian (Alexander Ovechkin). Stan Mikita was the first player not born in Canada to score 500 goals (he was born in Slovakia but represented Canada internationally); Jari Kurri was the first 500-goal scorer who never played for Canada.
The fewest NHL games required to reach the mark is 575, set by Wayne Gretzky. Second-quickest is Mario Lemieux, achieving the mark in his 605th game. With Mike Bossy (647) and Brett Hull (693) following, only these four players needed less than 800 games to score their first 500 goals.
Of the 45 players to score at least 500 goals in their career, 18 reached the mark in fewer than 1000 career games played.
Of those on the list, Lanny McDonald came closest to not achieving 500 goals; he reached the mark with only four games left in his final NHL season. Similarly, Joe Mullen scored his 500th goal with only ten games left in his final season. Glenn Anderson was the closest player to never reach the mark, retiring in 1996 with 498 career NHL goals.
Patrick Roy is the only goaltender to concede more than one opponent's 500th career goal: Steve Yzerman in 1996, Joe Mullen in 1997 and Brendan Shanahan in 2002. A contributing factor for this statistical coincidence is Roy playing the second-most games ever by a goaltender, at 1,029.
A total of 20 franchises have had a player score their 500th goal while playing for the franchise. Both the Detroit Red Wings and Chicago Blackhawks have had five players score their 500th goal while playing for the team.
To date, no team has had multiple players reaching 500 goals on the same team in the same season. The 2001-02 Detroit Red Wings were the first team to have three 500+ goal scorers on the roster (Steve Yzerman, Brett Hull and Luc Robitaille), and would finish the season with four players in the club after Brendan Shanahan joined them.
Updated as of May 15, 2021.
|Rank||Country||Player||Goals||GP||Date of 500th goal||With team||Game no.||Opposing goaltender||HHOF||Ref.|
|1||Wayne Gretzky||894||1487||November 22, 1986||Edmonton Oilers||575||(empty Canucks net)||1999|||
|2||Gordie Howe||801||1767||March 14, 1962||Detroit Red Wings||1045||Gump Worsley||1972|||
|3||Jaromír Jágr||766||1733||February 4, 2003||Washington Capitals||928||John Grahame||Not eligible yet|||
|4||Brett Hull||741||1269||December 22, 1996||St. Louis Blues||693||Stéphane Fiset||2009|||
|5||Marcel Dionne||731||1348||December 14, 1982||Los Angeles Kings||887||Al Jensen||1992|||
|6||Alexander Ovechkin||730||1197||January 10, 2016||Washington Capitals||801||Andrew Hammond||Active|||
|7||Phil Esposito||717||1282||December 22, 1974||Boston Bruins||803||Jim Rutherford||1984|||
|8||Mike Gartner||708||1432||October 14, 1991||New York Rangers||936||Mike Liut||2001|||
|9||Mark Messier||694||1756||November 6, 1995||New York Rangers||1141||Rick Tabaracci||2007|||
|10||Steve Yzerman||692||1514||January 17, 1996||Detroit Red Wings||906||Patrick Roy||2009|||
|11||Mario Lemieux||690||915||October 26, 1995||Pittsburgh Penguins||605||Tommy Söderström||1997|||
|12||Teemu Selänne||684||1451||November 22, 2006||Anaheim Ducks||982||José Théodore||2017|||
|13||Luc Robitaille||668||1431||January 7, 1999||Los Angeles Kings||928||Dwayne Roloson||2009|||
|14||Brendan Shanahan||656||1524||March 23, 2002||Detroit Red Wings||1100||Patrick Roy||2013|||
|15||Dave Andreychuk||640||1639||March 15, 1997||New Jersey Devils||1070||Bill Ranford||2017|||
|16 (tie)||Joe Sakic||625||1378||December 11, 2002||Colorado Avalanche||1044||Dan Cloutier||2012|||
|16 (tie)||Jarome Iginla||625||1554||January 7, 2012||Calgary Flames||1149||Niklas Bäckström||2020|||
|18||Bobby Hull||610||1063||February 21, 1970||Chicago Blackhawks||861||Eddie Giacomin||1983|||
|19||Dino Ciccarelli||608||1232||January 8, 1994||Detroit Red Wings||946||Kelly Hrudey||2010|||
|20||Jari Kurri||601||1251||October 17, 1992||Los Angeles Kings||833||(empty Bruins net)||2001|||
|21||Mark Recchi||577||1652||January 26, 2007||Pittsburgh Penguins||1303||Marty Turco||2017|||
|22||Mike Bossy||573||752||January 2, 1986||New York Islanders||647||(empty Bruins net)||1991|||
|23||Patrick Marleau||566||1779||February 2, 2017||San Jose Sharks||1463||Ryan Miller||Active|||
|24 (tie)||Mats Sundin||564||1346||October 14, 2006||Toronto Maple Leafs||1162||Miikka Kiprusoff||2012|||
|24 (tie)||Joe Nieuwendyk||564||1257||January 17, 2003||New Jersey Devils||1094||Kevin Weekes||2011|||
|26||Mike Modano||561||1499||March 13, 2007||Dallas Stars||1225||Antero Niittymäki||2014|||
|27||Guy Lafleur||560||1126||December 20, 1983||Montreal Canadiens||918||Glenn Resch||1988|||
|28||Johnny Bucyk||556||1540||October 30, 1975||Boston Bruins||1370||Yves Belanger||1981|||
|29||Ron Francis||549||1731||January 2, 2002||Carolina Hurricanes||1533||Byron Dafoe||2007|||
|30||Michel Goulet||548||1089||February 16, 1992||Chicago Blackhawks||951||Jeff Reese||1998|||
|31||Maurice Richard||544||978||October 19, 1957||Montreal Canadiens||863||Glenn Hall||1961|||
|32||Stan Mikita||541||1394||February 27, 1977||Chicago Blackhawks||1221||Cesare Maniago||1983|||
|33||Keith Tkachuk||538||1201||April 6, 2008||St. Louis Blues||1055||(empty Blue Jackets net)||Eligible|||
|34||Frank Mahovlich||533||1181||March 21, 1973||Montreal Canadiens||1105||Dunc Wilson||1981|||
|35||Marián Hossa||525||1309||October 18, 2016||Chicago Blackhawks||1240||Michal Neuvirth||2020|||
|36||Bryan Trottier||524||1279||February 13, 1990||New York Islanders||1104||Rick Wamsley||1997|||
|37||Pat Verbeek||522||1424||March 22, 2000||Detroit Red Wings||1285||Fred Brathwaite||Eligible|||
|38||Dale Hawerchuk||518||1188||January 31, 1996||St. Louis Blues||1103||Félix Potvin||2001|||
|39||Pierre Turgeon||515||1294||November 8, 2005||Colorado Avalanche||1229||Vesa Toskala||Eligible|||
|40||Jeremy Roenick||513||1363||November 10, 2007||San Jose Sharks||1267||Alex Auld||Eligible|||
|41||Gilbert Perreault||512||1191||March 9, 1986||Buffalo Sabres||1159||Alain Chevrier||1990|||
|42||Jean Béliveau||507||1125||February 11, 1971||Montreal Canadiens||1101||Gilles Gilbert||1972|||
|43||Peter Bondra||503||1081||December 22, 2006||Chicago Blackhawks||1050||Jean-Sébastien Aubin||Eligible|||
|44||Joe Mullen||502||1062||March 14, 1997||Pittsburgh Penguins||1052||Patrick Roy||2000|||
|45||Lanny McDonald||500||1111||March 21, 1989||Calgary Flames||1107||Mark Fitzpatrick||1992|||