Marçal passou pelas categorias de base do Grêmio e iniciou a carreira profissional em 2009 no Guaratinguetá.
Torreense
Em 2010, assinou pelo Torreense, da Segunda Liga, onde fez 40 jogos pelo clube.
Nacional
Após jogar na segunda divisão portuguesa, foi contratado pelo Nacional, da Primeira Liga.
Benfica
Para a temporada 2015-16, Marçal mudou-se para o Benfica, que o contratou por um período de cinco anos. Na pré-temporada, o técnico Rui Vitória utilizou Marçal em campo por apenas alguns minutos, sempre como suplente, nos jogos contra PSG (25 minutos), New York Red Bulls (oito) e América (45). Após isso, foi dispensado e nunca mais atuou com a camisa encarnada.
Gaziantepspor
Em 20 de agosto de 2015, transferiu-se para o Gaziantepspor por empréstimo de uma temporada.
Guingamp
Em 2016, foi emprestado ao Guingamp, onde fez 8 assistências em 31 partidas da Ligue 1, terminando o campeonato como líder de assistências e sendo considerado o segundo melhor lateral-esquerdo da temporada. Três dias depois de sua chegada, foi escalado por Antoine Kombouaré contra o Olympique de Marseille em casa.
Lyon
Em 16 de junho de 2017, Marçal assinou um contrato com o Lyon por €4,5 milhões. Na última temporada pelo Lyon, atuou em 26 partidas, com uma assistência. Na Liga dos Campeões, esteve em campo nas fases finais da competição, inclusive na derrota por 3 a 0 para o Bayern na fase semifinal.
Wolverhampton
Em 6 de setembro de 2020, foi anunciado pelo Wolverhampton, assinando um contrato de dois anos. Em 14 de setembro de 2020, fez sua estreia pelo Wolves em uma partida da Premier League contra o Sheffield United. Em sua última temporada com os Lobos, participou de 19 partidas, sendo 17 da Premier League, sem marcar gols ou fazer assistências.
Botafogo
Em 16 de junho de 2022, Marçal foi anunciado pelo Botafogo, assinando um contrato de dois anos e meio, com vínculo até o fim de 2023. Fez sua estreia diante do Santos, na derrota por 2 a 0 em 20 de julho de 2022, jogo válido pelo Campeonato Brasileiro. Marçal marcou seu primeiro gol pelo clube alvinegro em uma bela finalização de fora da área, na vitória por 3 a 1 contra o Fortaleza, na Arena Castelão, pelo Campeonato Brasileiro.