Friday's ruling by the European Court of Justice came after former France international Lassana Diarra legally challenged FIFA rules following a dispute with a club dating back to a decade ago.
Diarra argued FIFA's restrictions meant he was unable to find a new club after his contract with Russia's Lokomotiv Moscow was terminated in 2014.
FIFA's rules state that if a player terminates his contract without "just cause", the player and any club wishing to sign him are jointly liable for paying compensation to the previous club.
"Those rules hinder the free movement of players and competition between clubs," the court said in a statement.
"The rules in question are such as to impede the free movement of professional footballers wishing to develop their activity by going to work for a new club."
The court added that current rules "impose considerable legal risks, unforeseeable and potentially very high financial risks as well as major sporting risks on those players and clubs wishing to employ them which, taken together, are such as to impede international transfers of those players".
Diarra had signed a four-year contract with Lokomotiv Moscow in 2013. The deal was terminated a year later after Diarra was unhappy with alleged pay cuts.
Lokomotiv Moscow applied to the FIFA dispute resolution chamber for compensation and the player submitted a counterclaim seeking compensation for unpaid wages.
The Court of Arbitration for Sport found the Russian club terminated the contract with Diarra "with just cause" and the player was ordered to pay 10.5 million euros ($A16.4 million).
Diarra claimed his search for a new club was hampered by FIFA's rules stipulating that any new side would be jointly responsible with him for paying compensation to Lokomotiv.
The former Real Madrid player also argued that a potential deal with Belgian club Charleroi fell through because of the FIFA rules, and sued FIFA and the Belgian federation at a Belgian court for damages and loss of earnings of six million euros ($A10 million).
With the lawsuit still going through Belgian courts, the case was referred to the European Court of Justice for a ruling.
Although the court said FIFA transfer regulations can help maintain a form of stability within professional squads and help guarantee the regularity of competitions, it insisted that in Diarra's case "the rules in question nevertheless seem, subject to verification (by the Belgian court) in a number of respects, to go beyond what is necessary to pursue that objective".
The Diarra case, which is supported by the global players' union FIFPro, went through FIFA judicial bodies before the 2016 election of FIFA president Gianni Infantino, who has made it a priority to modernise transfer market rules.
Concerning competition rules, the court slammed FIFA's rulings for restricting and preventing cross-border competition between European clubs.
"The Court recalls that the possibility of competing by recruiting trained players plays an essential role in the professional football sector and that rules which place a general restriction on that form of competition, by immutably fixing the distribution of workers between the employers and in cloistering the markets, are similar to a no-poach agreement," it said.
FIFPro reacted by saying the ruling would change the landscape of the sport.
The court "just handed down a major ruling ... which will change the landscape of professional football", the union said in a statement.