Luan was born in São José do Rio Preto, São Paulo. After starting it out at futsal and playing for amateur clubs in his native state, he joined |language=pt|date=1 May 2014|accessdate=6 December 2015
Shortly after making his debut for Catanduvense, Luan moved to Grêmio and returned to youth football; he later had 50% of his federative rights bought for just R$ 300,000. He was promoted to the first team in December 2013, mainly as a backup to Kléber and Hernán Barcos. Luan made his first team debut for Tricolor on 19 January2014, starting in a 0–1 Campeonato Gaúcho away loss against São José. His debut club goal was ten days later, netting the equalizer in a 1–1 draw at Brasil de Pelotas. Luan finished the tournament with 14 appearances and three goals, as his side finished second. He made his Série A debut on 27 April 2014, starting in a 2–1 home win against Atlético Mineiro. Luan scored his first goal in the Brazilian football top division on 17 August 2014, netting the first through a penalty in a 2–0 home success over Criciúma. He scored three more goals in the 2014 season, also appearing in the year's Copa Libertadores. On 29 March2015, Luan scored all goals in a 2–0 home win against São Paulo-RS. In the 2015 Campeonato Brasileiro, he scored ten goals to help his side finish third; highlights included braces against fierce rivals Internacional and Palmeiras. On 30 November 2015, Luan was included in the year's BrasileirãoTeam of the Year, being the tournament's best forward alongside Santos' Ricardo Oliveira. Luan is the top scorer at the Arena do Grêmio with 29 goals. In August 2017, it was reported that Liverpool had sent scouts to monitor his progress. Luan scored of one of Grêmio's goals in the 2017 Copa Libertadores final against Lanús and Grêmio won the title. He was voted the best player of the 2017 Copa Libertadores with eight goals in twelve appearances and was again voted to the Campeonato Brasileiro Team of the Year in 2017. In October 2018, Luan suffered a muscle tear in his foot and could not participate in Grêmio's 2018 Copa Libertadores semi-final against River Plate, in which Grêmio were eliminated. Luan finished the 2018 Campeonato Brasileiro with one goal.
Corinthians
On 14 December 2019, it was announced that Luan would be sold to Corinthians for around R$ 22 million. It was reported that he received a four year contract.
International career
Luan was named in Brazil's provisional squad for Copa América Centenario but was cut from the final squad. Later in the season, he was selected as a member of Brazil's squad for the 2016 Summer Olympics. In Brazil's quarter final clash with Colombia, Luan scored the second goal of the match in an eventual 2–0 win, and finished the tournament as a starter. On 26 January 2017, he made his full international debut, replacing Diego Souza in a 1–0 friendly win against Colombia.