The 26-year-old was granted Spanish citizenship earlier in the week and can now play for the country at Euro 2020 this summer.
Laporte has played for France's youth teams but has not made an appearance for the country's senior team.
A Fifa statement said he could play for Spain with "immediate effect".
Laporte, who was born in France, joined City for a then club-record £57m in January 2018 from Spanish side Athletic Bilbao.
Last year, Fifa's annual congress approved a rule change which meant players could switch countries if they had not played more than three matches for a country before the age of 21 and had not featured at a World Cup or continental tournament.
Need a VPN? Or seeking to switch? Then support Tribal Football by clicking here to sign up with our official partners NordVPN. Not only will you receive the best VPN experience, but also great discounts by signing up via Tribal Football. Thanks for your support!