
La Liga has always celebrated legendary goalscorers throughout the ages, players who carved their names in glory with their goals and record-breaking achievements. At the forefront are Lionel Messi and Cristiano Ronaldo, who wrote history with Barcelona and Real Madrid, respectively.
The Spanish league has always been home to legends who engraved their names in golden letters in football history. It is the competition that witnessed the brilliance of the greatest scorers of all time. At the top of the all-time scorers’ list sits Lionel Messi, who established himself as the player with the most goals in La Liga while wearing Barcelona’s shirt, followed by Cristiano Ronaldo, who achieved astonishing scoring feats with Real Madrid, numbers that are difficult to replicate.

Both stars, Lionel Messi and Cristiano Ronaldo, consistently shattered records throughout their careers, maintaining extraordinary levels of performance and an unrelenting pursuit of goals.
The two players dominated La Liga’s historical scoring charts before Ronaldo departed for Serie A and Messi later moved to Paris Saint-Germain, ending their tally in Spain’s top flight.
Naturally, the list is dominated by Real Madrid and Barcelona players, though legends from Athletic Bilbao such as Zarra, and Atlético Madrid icons like Hugo Sánchez, also made their mark.

“Socccer Sport” presents to you the all-time top scorers of La Liga since the competition’s inception.
All-Time Top Scorers in La Liga
Player | Club(s) | Goals | Matches | Minutes per Goal |
---|---|---|---|---|
1. Lionel Messi | Barcelona | 474 | 520 | 89 |
2. Cristiano Ronaldo | Real Madrid | 311 | 292 | 81 |
3. Telmo Zarra | Athletic Bilbao | 254 | 277 | 98 |
4. Karim Benzema | Real Madrid | 238 | 439 | 135 |
5. Hugo Sánchez | Real Madrid – Atlético Madrid | 234 | 347 | 130 |
6. Raúl González | Real Madrid | 228 | 550 | 193 |
7. Alfredo Di Stéfano | Real Madrid – Espanyol | 227 | 239 | 130 |
8. César Álvarez | Barcelona | 221 | 353 | 144 |
9. Quini | Barcelona | 219 | 448 | 164 |
10. Pahiño | Celta Vigo | 217 | 278 | 116 |
11. Edmundo Suárez | Valencia | 214 | 229 | 106 |
12. Antoine Griezmann | Real Sociedad – Atlético Madrid – Barcelona | 198 | 517 | 200 |
13. Santillana | Real Madrid | 195 | 461 | 194 |
14. David Villa | Barcelona – Atlético Madrid – Valencia | 185 | 352 | 147 |
15. Guillermo Gorostiza | Athletic Bilbao – Valencia | 183 | 250 | 125 |
16. Luis Suárez | Barcelona – Atlético Madrid | 176 | 258 | 115 |
17. Iago Aspas | Celta Vigo – Sevilla | 163 | 375 | 181 |
18. Samuel Eto’o | Barcelona – Mallorca – Leganés | 162 | 280 | 143 |
19. Luis Aragonés | Atlético Madrid – Real Betis | 160 | 348 | 189 |
20. Aritz Aduriz | Athletic Bilbao – Valencia | 157 | 442 | 192 |
21. Ferenc Puskás | Real Madrid | 156 | 180 | 104 |