Real Madrid, Barcelona and Valencia are among seven professional clubs that must repay millions of euros of financial support received from the Spanish state following European Commission (EC) investigations.
The EC deduced that assistance to the clubs provided by Spain contravened European Union state aid regulations.
In one case, Real Madrid must pay back €18.4million after authorities from the Spanish capital overcompensated them when a proposed land transfer between the pair fell through.
A separate investigation found the European champions, as well as Barca, Athletic Bilbao and Osasuna "were treated as non-profit organisations, which pay a five per cent lower tax rate on profit" than other clubs and "benefitted from this lower tax rate during over 20 years, without an objective justification".
The clubs must now return this money which the EC estimates will be between €0-5m per club, but Spanish authorities will determine the precise amounts.
European Commissioner for Competition Margrethe Vestager said: "Using tax payers' money to finance professional football clubs can create unfair competition.
"Professional football is a commercial activity with significant money involved and public money must comply with fair competition rules. The subsidies we investigated in these cases did not."
Furthermore, Valencia, Hercules and Elche have all been judged to have benefited from loans granted by the state-owned Valencia Institute of Finance (IVF).
Valencia will now pay back €20.4m, while Hercules will pay €6.1m and Elche €3.7m "in order to restore the level playing field with non-subsidised clubs".
A separate examination of support measures granted by several Dutch municipalities to PSV, Den Bosch, MVV Maastricht, NEC Nijmegen and Willem II were concluded to be in line with EU state aid rules.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.