The Switzerland international has put pen to paper on a four-year contract with the Portuguese outfit, which has set his buy-out clause at 25 million euros.
The Switzerland international spent the second half of last season on loan at Udinese but has now opted to move to the Portuguese club on a four-year contract.
"I am delighted and I have to say thanks for the reception that I have received," Fernandes told his new club's official website. "I was astonished by it. Sporting has a great history and is hungry for victories."
Fernandes, who was born in Cape Verde but has now been capped 37 times by Switzerland, joined Saint-Etienne from Manchester City in 2009.
However, the midfielder failed to settle in France and already had loan spells at Chievo and Leicester City before being farmed out to Udinese during the January transfer window.
Follow GOAL.COM USA on