Messi vs Ronaldo in La Liga: goals, scoring rates and the 311–312 question
Messi leads La Liga goals 474–311; Ronaldo leads goals per appearance. Compare the records and understand why some sources give Ronaldo 312.

Messi scored more La Liga goals: 474 to Ronaldo’s 311 in the statistical convention used here. Ronaldo scored at the higher rate per appearance: approximately 1.07 against Messi’s 0.91. The first answer measures the size of their league records; the second describes how quickly those goals accumulated.
This is their complete Spanish league comparison, not every Barcelona or Real Madrid match. Messi’s Barcelona record records 474 league goals in 520 appearances. Ronaldo’s 311 in 292 follows the statistical convention documented in the site’s source register. Their cup and Champions League goals sit outside this table.
The numbers that answer the main question
La Liga career | Messi | Ronaldo |
|---|---|---|
Goals | 474 | 311 |
Appearances | 520 | 292 |
Goals per appearance | 0.91 | 1.07 |
League minutes | 42,157 | 25,103 |
Goals per 90 minutes | 1.01 | 1.12 |
The totals and minutes come from the site’s reviewed La Liga dataset; the rates are calculated from those figures. You can inspect the same competition in the La Liga comparison.
Messi’s lead is 163 goals. He also made 228 more league appearances. Those differences should be read together. Messi’s longer Spanish career is part of the achievement behind the total, while Ronaldo’s scoring density deserves its own line in the comparison.
Goals per appearance is goals divided by appearances. Goals per 90 is goals multiplied by 90, then divided by playing minutes. The two rates are close here, but they are not interchangeable: coming on late still adds one appearance, even when it adds only a few minutes.
Why some records give Ronaldo 312 goals
Real Madrid’s own Ronaldo profile lists 312 league goals and 451 for the club overall. The convention used on this site lists 311 and 450. The source register identifies a differently attributed deflected goal behind that discrepancy.
That is a genuine counting difference, so hiding it would make the comparison less useful. If you see 312 elsewhere, first check whether the page follows the club’s attribution. Do not “correct” one figure by borrowing a total from another source while leaving all the underlying breakdowns untouched.
For this article, 311 is used consistently in the total, the gap and both scoring-rate calculations. The one-goal difference does not change who leads either the career total or the rate.
Their whole careers and their shared years are different comparisons
Ronaldo’s La Liga career ran through nine seasons, from 2009/10 to 2017/18. Messi’s Barcelona league record begins before that window and continues after it. A full-career table is therefore not a table of equal seasons.
To compare the years when they were both in Spain, use the season archive, starting with 2009/10 and ending with 2017/18. Keep the competition set to La Liga. A Champions League knockout goal scored during the same season still does not belong in a league total.
This distinction matters particularly for a question such as “Who dominated their rivalry in Spain?” Career longevity, output during their shared years and performance against each other are three reasonable subjects. They need three different sets of matches. The head-to-head page answers the last one.
What the table cannot decide
A goals table cannot tell you the full value of a player’s passing, movement or defensive work. Nor does a higher scoring rate prove what either player would have done with the other’s teammates or minutes. That would be an imagined career, not an observed one.
Assists are useful additional evidence, provided they come from a consistent definition. Different providers can disagree about deflections, rebounds and penalties won; the assist guide explains why.
The clearest answer remains a specific one: Messi owns the larger La Liga goal total, while Ronaldo has the higher scoring rate in this dataset. You do not need to discard either result to appreciate the other.

