Nacido en Maia, Oporto, jugó la mayor parte de su etapa juvenil con el club local del Boavista Futebol Clube. El 27 de agosto de 2012 se unió a las filas del Novara Calcio italiano. Después de solo unas pocas semanas con el equipo juvenil, Fernandes fue ascendido al primer equipo, en la Serie B, y disputó algo más de la mitad de los partidos de liga durante la temporada 2012-13, ayudando a su equipo a obtener el quinto lugar y el play-off de promoción de ascenso. En verano firmó con el Udinese Calcio un acuerdo de copropiedad, y debutó con su nuevo club en la Serie A el 3 de noviembre, donde entró como sustituto en la segunda mitad, en la derrota por 0-3 en casa contra el Football Club Internazionale. Anotó su primer tanto en la máxima categoría el 7 de diciembre en un empate 3-3 frente a la Società Sportiva Calcio Napoli. Marcó de nuevo en el segundo partido entre las escuadras que finalizó con un empate 1-1. Sus actuaciones le convirtieron en titular del equipo si bien el club no logró grandes resultados, lo que motivaron su traspaso y dejó el club con once goles en 95 partidos disputados. El 16 de agosto de 2016, Fernandes fue cedido a la Unione Calcio Sampdoria con compra obligatoria.910 Debutó en la liga doce días después, jugando seis minutos en una victoria por 2-1 en casa sobre el Atalanta Bergamasca Calcio.11 Fernandes anotó su primer gol en su nuevo equipo el 26 de septiembre de 2016, en una derrota por 1-2 ante el Cagliari Calcio.12 Cerró la temporada con cinco goles en 35 partidos, ayudando a su equipo a terminar en la décima posición en liga. Su regular progresión y el hecho de no haber disputado aún competición europea motivó un nuevo cambio de aires y regresó a Portugal. En enero de 2020 se confirmó su traspaso al Manchester United Football Club, el cual llevaba tiempo intentando su contratación, y sobre el que declaró que siempre fue su opción favorita en caso de salir del club lisboeta