Se formó como jugador en las divisiones menores de la Academia Deportiva Cantolao,[1][2] y posteriormente es comprado y pasa a las divisiones menores de Alianza Lima, donde en la temporada 2006 es promovido al plantel profesional.
Tras un breve paso por Juan Aurich del que fue expulsado por indisciplina, recaló en León de Huánuco.
Durante el Campeonato Descentralizado 2013 tuvo buenas actuaciones con la Universidad Técnica de Cajamarca lo que le valió volver a la selección peruana.
En abril fue despedido del UTC por indisciplina y se especulaba que iría al José Gálvez (actualmente en segunda división).
Tras algunas buenas actuaciones regresó a Alianza Lima disputando una irregular campaña hasta pasar a entrenar en las reservas tras no ser tomado en cuenta por su técnico Roberto Mosquera, al finalizar el campeonato su equipo acabó en el puesto 6.
Se pensaba que llegaría al Unión Comercio, pero finalmente termina convirtiéndose en nuevo jugador del Sport Boys.
En el 2020 fichó por el club Binacional de Puno, donde estuvo unos meses, luego fue contratado para ser jugador del Atlético Grau, donde descendió.
[5] En el poco tiempo que le tocó jugar, ayudó a empatar un 2-0 adverso dando un pase de gol; el partido finalizó 2-2.
Días después fue cedido a préstamo al Willem II hasta final de temporada.
Una vez culminada la cesión, en julio de 2010, Juan Aurich compró la totalidad del pase al PSV.
Esto hizo que ambos jugadores fueran separados de la selección, aunque tiempo después solamente Farfán fue perdonado.
Posteriormente, en agosto de 2010, fue convocado por el técnico Sergio Markarián para los amistosos ante Canadá y Jamaica en Estados Unidos.