Born in Seabra, Bahia, Matos was scouted by Fiorentina's sport director Pantaleo Corvino aged 15, while playing for Vitória. He moved to La Viola in 2008, and was promoted to the Primavera squad in 2010.
On 29 June 2012, Matos moved back to Brazil, joining Vitória's fierce rivals Bahia on loan. Despite being initially assigned to the youth team, he made his debut as a professional on 8 August, coming on as a second-half substitute in a 0–0 home draw against Portuguesa for the Campeonato Brasileiro Série A championship.
Matos was definitely promoted to Bahia's main squad in 2013, and appeared sparingly during the Campeonato Baiano championship, in which his side finished second. He scored his first professional goal on 2 June, netting the first of a 2–1 win against Internacional.
Matos returned to Fiorentina in late June 2013, and made his debut for the club on 19 September, in their first match of the group stage of 2013–14 UEFA Europa League against Paços de Ferreira, coming on as a substitute for Joaquín in the 66th minute, and scoring the second of a 3–0 home win. He scored two further goals in the same competition, both against Pandurii Târgu Jiu.
On 21 July 2014, Matos moved teams and countries again, joining newly promoted side Córdoba CF in a season-long loan. He made his La Liga debut on 25 August 2014, starting in a 0–2 away loss against Real Madrid.
On 19 January 2015, after being deemed surplus to requirements by new manager Miroslav Đukić, he moved to Palmeiras on loan until December.
On 8 July 2015, Matos joined Serie A club Carpi on loan until the end of the season.
On 30 January 2016, Matos transferred to Udinese, signing a four-year contract.