Born in Landskrona, Farnerud made his professional debuts for Landskrona BoIS, scoring in one of his first Allsvenskan matches, a 2–1 home win against reigning champions Hammarby.
On 15 November 2003, he was bought by France's Strasbourg, being an automatic first-choice in his two-and-a-half-year spell. In his first and third seasons in Ligue 1, Farnerud played alongside older brother Pontus who was first loaned by AS Monaco, then acquired.
Upon Strasbourg's 2006 relegation, Farnerud moved to VfB Stuttgart in Germany, on a four-year deal. He was used sporadically during the course of two Bundesliga campaigns, appearing nine times for the 2007 champions.
On 8 July 2008, Farnerud signed with Brøndby.
On 18 January 2011, Farnerud changed clubs and countries again, joining Young Boys from Switzerland for an undisclosed fee until 2014. On 5 February he made his Super League debut, against Bellinzona, and in the next game he scored twice in a 4–2 win over Zürich.
On 18 June 2013, Farnerud was signed by Italian side Torino for €1.8 million on a three-year contract. He made his official debut on 17 August 2013, in a Coppa Italia against contest Pescara which ended in a 1–2 loss. On 20 October he scored his first goal in Serie A, opening the scoreline in an eventual 3–3 home draw against Inter Milan.
After a difficult start to the season, in which he was often benched, Farnerud became a regular and consistent performer for Toro, netting again in the 14th round against Genoa and two days later against Udinese.
After appearing for all the Swedish national youth teams, Farnerud became a permanent fixture in the under-21s, with whom he participated in the 2004 UEFA European Championship. He gained his first cap for the full side on 16 February 2003 at age 18, in a King's Cup fixture against Qatar; four days later, in the same competition, he scored his first goal to help to a 2–0 win over Thailand.
On 21 March 2015, after more than five years of absence, Farnerud was called my manager Erik Hamrén for a Euro 2016 qualifier against Moldova and a friendly with Iran.
Farnerud's older brother, Pontus, was also a footballer. He too was a midfielder and a Swedish international.Stuttgart
Coupe de la Ligue: 2004–05
King's Cup: 2003