Inizia la sua carriera nel Landskrona BoIS, club della sua città d'origine. Nel 2001 conquista la promozione in Allsvenskan, e nel 2002, a 18 anni, è titolare fisso della formazione. Con il Landskrona BoIS totalizza complessivamente 75 presenze e 13 reti in due stagioni e mezzo.
Il 15 novembre 2003 viene ufficializzato il suo passaggio dal 1º gennaio 2004 ai francesi dello Strasburgo[2], con cui debutta in Ligue 1 il 10 gennaio nella gara interna contro il Guingamp, subentrando a Yacine Abdessadki[3]. A fine stagione colleziona 16 partite, senza alcuna rete.
Confermato per la stagione 2004-2005, il 21 agosto 2004 realizza il suo primo gol con il club francese nel pareggio esterno per 1-1 contro il Saint-Étienne[4]. Va a segno ancora il 29 gennaio contro il Lens e nell'ultima giornata, il 28 maggio, contro i corsi del Bastia. Grazie anche alle sue 32 presenze e 3 reti il club termina il campionato all'undicesimo posto, ma la vittoria in Coppa di Francia ne determina la qualificazione per i preliminari di UEFA Europa League.
Rimane anche per il campionato seguente, dove si conferma titolare inamovibile del centrocampo della squadra. Il 15 e il 29 settembre 2005, in occasione del doppio incontro contro gli austriaci del Grazer AK, è protagonista sia all'andata, dove è autore di entrambi gli assist per i gol di Mickaël Pagis e Guillaume Lacour, sia al ritorno, in cui segna il secondo gol del 5-0 finale[5][6]. Gioca poi tutte le partite del girone, in cui il club si classifica in ultima posizione, e in campionato, nonostante 30 presenze e 3 reti, non riesce ad evitare la retrocessione della squadra in Ligue 2.
Stoccarda
Il 3 luglio 2006 passa ai tedeschi dello Stoccarda per 2 milioni di euro. Il 26 agosto, in occasione della partita persa 3-1 in casa contro il Borussia Dortmund, riporta un infortunio che ne compromette il resto della stagione.[senza fonte] A fine anno sono 9 le presenze in prima squadra, vincendo la Bundesliga.
Confermato per la stagione seguente, il 2 ottobre 2007 debutta in UEFA Champions League nel 2-0 casalingo contro il Barcellona. La stagione termina con 15 presenze e una rete.
Brøndby
L'8 luglio 2008, non confermato dal club tedesco, firma un quadriennale con i danesi del Brøndby[7][8] Il 17 luglio gioca l'andata dei preliminari di Coppa UEFA contro i faroesi del B36 Tórshavn e il successivo primo turno contro il Rosenborg, mentre in campionato segna due doppiette contro Sønderjysk e Vejle BK. La prima stagione termina con 32 presenze e 10 gol.
Resta in Danimarca anche per l'annata 2010-2011, e il 5 dicembre mette a segno una doppietta nella gara in trasferta contro il Silkeborg IF[9], in quella che sarà l'ultima partita con la maglia gialloblu.
Young Boys
Il 18 gennaio 2011 passa agli svizzeri dello Young Boys, con cui si accorda fino al 2014[10][11]. Il 5 febbraio fa il suo debutto in Super League contro il Bellinzona[12], e nella partita successiva realizza una doppietta nel 4-2 interno contro lo Zurigo. Il 16 maggio, nella vittoria casalinga per 3-1 contro il Lucerna, realizza due assist e un gol[13], mentre il 16 aprile successivi mette a segno la sua seconda doppietta stagionale nel 4-0 contro il Bellinzona. Termina la stagione con 17 presenze e 5 reti, contribuendo al terzo posto finale in classifica.
Dopo aver rinnovato in ottobre il contratto fino al 2016[14], si conferma titolare del centrocampo svizzero; l'11 settembre 2011 è ancora autore di due reti contro il Losanna, e il team termina ancora una volta in terza posizione.
Nella stagione 2012-2013 in campionato va a segno contro Servette, Zurigo e Lucerna, mentre in Europa League gioca sia il doppio incontro preliminare vinto contro il Midtjylland (nel quale segna anche una rete) sia tutte le partite del girone, realizzando anche un gol dalla distanza, l'8 novembre, contro l'Udinese[15]. Nonostante l'eliminazione in Europa e il settimo posto in campionato, riesce comunque a collezionare 48 presenze e 11 reti totali.
Torino
Il 19 giugno 2013 passa a titolo definitivo alla società italiana del Torino[16][17], che lo acquista per 1,8 milioni di euro, facendogli sottoscrivere un contratto triennale[18]. Esordisce con la maglia granata il 17 agosto 2013 nella partita di Coppa Italia Torino-Pescara, conclusasi con una sconfitta interna per 1-2.[19] Il 20 ottobre 2013 segna il suo primo gol in Serie A, portando la sua squadra in vantaggio per una rete a zero nel pareggio interno per 3-3 ottenuto contro l'Inter.[20] Dopo un inizio stagione difficile, che lo vede spesso relegato in panchina, presto torna ai suoi livelli consoni e diventa una colonna della squadra[21]; va a segno di nuovo al 14º turno contro il Genoa[22] e due giornate dopo contro l'Udinese[23]. Il 6 aprile segna il suo quarto goal stagionale ai danni del Catania, siglando la rete del momentaneo pareggio per 1-1 nella vittoria sui siciliani per 2-1.
Häcken
Il 9 agosto 2016 l'Häcken ha comunicato di aver raggiunto un accordo con Farnerud, che torna così a giocare nel campionato svedese. Gioca la restante parte dell'Allsvenskan 2016 e 13 partite dell'edizione successiva, ma il suo campionato 2017 finisce anzitempo a causa di un nuovo grave infortunio al ginocchio, rimediato il 22 luglio durante la gara esterna contro il Sirius[24]. A novembre, terminata la stagione, le due parti rescindono consensualmente il contratto[25].
Helsingborg
Il 21 ottobre 2018 firma un contratto con l'Helsingborg di un anno con opzione per due ulteriori stagioni, valido dal gennaio 2019[26]. Nell'Allsvenskan 2019 gioca 19 partite e segna 2 gol, poi a fine anno rimane svincolato in quanto la società decide di non rinnovare il suo contratto in scadenza[27].
IFK Göteborg
Il 13 maggio 2020 viene annunciato il suo ingaggio fino alla fine dell'anno da parte dell'IFK Göteborg, società presso cui già lavorava suo fratello Pontus nel ruolo di vice direttore sportivo. Il 14 giugno 2020 fa il suo esordio in gare ufficiali con la maglia biancoblu, nella partita persa in casa per 0-1 contro ľ'Elfsborg[28]. Il 30 luglio 2020, nel primo tempo supplementare della finale contro il Malmö FF, segna il gol del definitivo 2-1 che regala all'IFK Göteborg la Coppa di Svezia 2019-2020[29]. A fine anno il suo contratto in scadenza non viene rinnovato[30].
Chiasso e ritiro
Nel luglio 2021, Farnerud ha firmato con il Chiasso, squadra svizzera militante nella massima serie, con un contratto annuale.[31] Ha annunciato il suo ritiro dal calcio professionistico nel giugno 2022, dopo aver giocato 14 partite e segnato una rete per il club.[32]
Il 16 febbraio 2003, a 19 anni, debutta in Nazionale maggiore in occasione dell'incontro di King's Cup contro il Qatar. Il 20 marzo 2003 segna il primo gol in Nazionale nella gara contro la Thailandia.
^(DA) Farnerud skifter til Young Boys, su brondby.com, 18 gennaio 2011. URL consultato il 22 ottobre 2013 (archiviato dall'url originale il 23 ottobre 2013).