Despite having had a buyout clause of €50 million inserted in his contract, Fernández failed to achieve significant playing time during his first three seasons, but still contributed with 30 matches and three goals in 2007–08 as the team finished a best-ever runners-up. On 10 May 2009, he scored from a penalty kick in a 3–3 away draw against eventual champions FC Barcelona.
On 1 July 2009, after being deemed surplus to requirements by new Villarreal coach Ernesto Valverde, Fernández moved to Sporting CP on a four-year contract, for €3.65 million, with a further €500,000 payable depending on appearances. Villarreal would retain 20% of the profit on any future sale of the player.
Fernández scored his first goal for his new team on 27 October 2009, in a 1–1 draw at Vitória de Guimarães, adding another the following week also in the Portuguese Primeira Liga, at home against C.S. Marítimo (again 1–1); in the UEFA Europa League he netted another goal, in injury time of the Lions' 3–0 win over Everton in the competition's round-of-16 (4–2 on aggregate).