List of NHL players with 500 goals
For ice hockey players in the National Hockey League (NHL), scoring 500 regular season goals is considered a highly significant achievement.
As of the completion of the 2020–21 NHL season — the 103rd regular season of play of the National Hockey League — a total of 46 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 Steven Stamkos who did so on January 18, 2023.
Contents
Season achievements
The 2006–07 NHL season saw the largest number of players (five) achieve their 500th goal (Teemu Selanne, Mike Modano, Mark Recchi, Mats Sundin, and Peter Bondra). A total of four players scored their 500th goal in 1995–96 (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 1961–62 and Bobby Hull in 1969–70.
Player achievements
The 46 players to score 500 goals consist of 34 Canadians[note 1], five Americans (Brett Hull, Joe Mullen, Mike Modano, Jeremy Roenick, and Keith Tkachuk), three Slovaks (Stan Mikita, Peter Bondra and Marian Hossa)[note 2], two Finns (Jari Kurri and Teemu Selanne), one Czech (Jaromir Jagr), 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 the Slovak Republic, but represented Canada internationally); Jari Kurri was the first 500-goal scorer who never played for the Canadian national team.
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 fewer than 800 games to score their first 500 goals.
Of the 46 players to score at least 500 goals in their career, 19 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.
Four players have scored their 500th goal on an empty net: Mike Bossy, Wayne Gretzky, Jari Kurri and Keith Tkachuk.
Maurice Richard and Peter Bondra are the only players with over 500 goals but fewer than 1000 points.
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.
In 2006, on Hockey Night in Canada, Mats Sundin scored his 500th goal short handed, in overtime, to finish off a hat trick and to win the game for the Toronto Maple Leafs.
Team achievements
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.
500-goal scorers
Updated as of January 18, 2023.
- Legend
- Rank - Ranking on all-time goals list
- Goals – Career regular season goals
- With team – Team for which the player scored their 500th goal
- Game no. – Number of career regular season games played when 500th goal was scored
- GP – Career regular season games played
- HHOF – Year of induction into the Hockey Hall of Fame or eligibility
-
Active NHL player
-
Active player outside of NHL

Fewest games to reach 500 goals
Player | Game no. |
Date of 500th goal |
---|---|---|
Wayne Gretzky | 575 | November 22, 1986 |
Mario Lemieux | 605 | October 26, 1995 |
Mike Bossy | 647 | January 2, 1986 |
Brett Hull | 693 | December 22, 1996 |
Alexander Ovechkin | 801 | January 10, 2016 |
Phil Esposito | 803 | December 22, 1974 |
Jari Kurri | 833 | October 17, 1992 |
Bobby Hull | 861 | February 21, 1970 |
Maurice Richard | 863 | October 19, 1957 |
Marcel Dionne | 887 | December 14, 1982 |
References
- Footnotes
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
- Citations
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
- General
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
Cite error: <ref>
tags exist for a group named "note", but no corresponding <references group="note"/>
tag was found, or a closing </ref>
is missing
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 Diamond 2014, p. 204
- ↑ Cameron 2013, p. 72
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 140
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 144
- ↑ Cameron 2013, p. 64
- ↑ Cameron 2013, p. 66
- ↑ Cameron 2013, p. 134
- ↑ Cameron 2013, p. 90
- ↑ Cameron 2013, p. 116
- ↑ Cameron 2013, p. 85
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 15.0 15.1 Cameron 2013, p. 44
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 102
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 28
- ↑ Cameron 2013, p. 130
- ↑ Cameron 2013, p. 146
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 126
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 94
- ↑ Cameron 2013, p. 111
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 148
- ↑ Cameron 2013, p. 16
- ↑ Cameron 2013, p. 69
- ↑ Cameron 2013, p. 26
- ↑ Cameron 2013, p. 156
- ↑ Cameron 2013, p. 91
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 38
- ↑ 37.0 37.1 Cameron 2013, p. 150
- ↑ Cameron 2013, p. 112
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 76
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 97
- ↑ Cameron 2013, p. 58
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Cameron 2013, p. 152
- ↑ Lua error in package.lua at line 80: module 'strict' not found.