The Scottish Premiership all-time top scorers list showcases the league's most prolific goal scorers. It features a mix of legendary players who have cemented their legacies over the past 25 years, as well as current players who are climbing the ranks and leaving their own mark on the league's history.

This top 20 rundown has a wealth of generation-spanning talent – from 1998, when the first Scottish Premier League was introduced following a rebranding, through to the 2023/24 Scottish Premiership campaign today. With an impressive 222 top-flight league goals, one-time Rangers star Kris Boyd leads the pack, with a handful of Rangers players also featuring throughout. 

It's worth noting that many of the players listed below scored many more goals for their clubs across all competitions – these totals are specific to domestic league competition.

And so from Boyd to Nacho Novo, James Tavernier and more, here are the Scottish Premiership all time top scorers of the modern era.


Scottish Premiership all time top scorers

1. Kris Boyd (Kilmarnock, Rangers) 222 goals

2. Henrik Larsson (Celtic) 175 goals

3. Leigh Griffiths (Hibs, Dundee, Celtic) 123 goals

4. Scott MacDonald (Motherwell, Celtic) 116 goals

5. Anthony Stokes (Hibs, Celtic, Falkirk) 100 goals

6. John Sutton (St Johnstone, Motherwell, Hearts, St Mirren, Dundee) 97 goals
=6. Kenny Miller (Hibs, Rangers, Dundee) 97 goals

8. Derek Riordan (St Johnstone, Hibs, Celtic) 96 goals

9. John Hartson (Celtic) 88 goals

10. Adam Rooney (Inverness, Aberdeen) 85 goals
=10. William Mckay (Ross County, Inverness, Dundee United) 85 goals

12. Billy Dodds (Aberdeen, Dundee United, Rangers) 82 goals

13. James Tavernier (Rangers) 80 goals

14. Alfredo Morelos (Rangers) 78 goals

15. Niall McGinn (Aberdeen, Dundee, Celtic) 76 goals

16. Steven Naismith (Hearts, Rangers, Kilmarnock) 75 goals
=16. Steven Thompson (St Mirren, Rangers, Dundee United) 75 goals

18. Nacho Novo (Rangers, Dundee) 73 goals

19. Stephen Crawford (Dunfermline, Aberdeen, Dundee, Hibs) 72 goals
=19. James Forrest (Celtic) 72 goals