Born in Bom Jesus das Selvas, Maranhão,[3] Carlos Vinícius started his football career at the youth ranks of Goiás in 2009, at the age of 14, as a central defender.[4] In 2011, he moved to Santos, but was initially loaned to Desportivo Brasil before returning to the club. Released in 2014, he subsequently joined Palmeiras and finished his formation with the club in the following year[5][6] in strong standing, thanks to Marcos Valadares, who in February 2015, gave Vinícius the opportunity to play centre-forward. One month later, "he was scoring goals and was first choice for the U20s.”[7]
Carlos Vinícius moved to Caldense for the 2016 season, but spent the first year without playing. He made his senior debut on 19 March 2017, starting in a 2–0 away loss against Uberlândia for the Campeonato Mineiro.[8] At the club, he was mainly used as a defensive midfielder.
In May 2017, Carlos Vinícius joined Grêmio Anápolis for the second division of the Campeonato Goiano.[9] For the side, he only contributed with two appearances as a substitute, being utilized as an attacking midfielder, but was moved to the forward position for a friendly and scored two goals in that match; he then impressed some Portuguese scouts in the match, which prompted to a move to the country.[10]
Real
On 5 July 2017, Carlos Vinícius was presented at Portuguese LigaPro side Real, after agreeing to a one-year loan deal.[11] He made his debut late in the month, in a 2017–18 Taça da Liga 1–0 win over Belenenses, scoring the only goal.[12]
Carlos Vinícius made his league debut on 6 August 2017, scoring a hat-trick in a 4–1 home routing of Leixões.[13][14] He ended the season with 20 goals in 39 matches.[15]
Napoli
In January 2018, Carlos Vinícius agreed to a deal with Italian side Napoli for around €4 million,[15] effective as of 1 July.[16] In July, he was included in the team's pre-season,[17] and scored in a friendly against Carpi late in the month.
Rio Ave (loan)
After appearing in the pre-season with the club, Carlos Vinícius returned to Portugal after being loaned to Primeira Liga side Rio Ave for one season.[18] He made his top tier debut on 2 September, playing the last 20 minutes in a 2–1 home defeat of Portimonense.
Carlos Vinícius scored his first goal in the main category of Portuguese football on 22 September 2018, in a 3–1 away success over Santa Clara; in that match, he also scored an own goal.[19] Seven days later, he scored a brace in a 2–1 home win against Boavista.[20]
Carlos Vinícius ended his spell at Rio Ave with 14 goals in 20 matches.[15]
Monaco (loan)
On 30 January 2019, Carlos Vinícius joined Ligue 1 team Monaco on a six-month loan deal,[21] He made his debut for the club three days later, replacing Radamel Falcao late into a 2–1 home win against Toulouse.[22]
Carlos Vinícius scored his first goal in France on 15 March 2019, netting a last-minute winner in a 1–0 away defeat of Lille.[23] Mainly used as a backup to Falcao, he helped the club avoid relegation, scoring two goals in 16 matches.[15]
Benfica
On 20 July 2019, Carlos Vinícius signed with Portuguese champions Benfica for a transfer fee of €17 million and five-year contract which includes a release clause of €100 million.[15][24] He scored a goal on his debut for the club, sealing a 5–0 win over Paços de Ferreira on 10 August.[25]
On 30 November 2019, Carlos Vinícius scored a hat-trick in a 4–0 home routing of Marítimo,[26] taking his tally up to 12 goals in 16 matches overall during the season.
Tottenham Hotspur (loan)
On 2 October 2020, English club Tottenham Hotspur announced the signing of Carlos Vinícius on a season-long loan from Benfica for a €3 million fee.[27][28] He made his debut for the club on 22 October in a UEFA Europa League 3–0 win against Austrian club LASK, contributing two assists.[29] He scored his first goals for Tottenham on 26 November in a Europa League match against the Bulgarian side Ludogorets Razgrad, hitting the back of the net twice to win 4–0.[30] On 10 January 2021, Carlos Vinícius scored a first-half hat-trick in a 5–0 away win over eighth-tier Marine in the third round of the FA Cup.[31] On 21 March 2021, Vinícius scored his first Premier League goal in a 2–0 away win over Aston Villa.[32]
PSV Eindhoven (loan)
On 31 August 2021, Carlos Vinícius joined Dutch club PSV Eindhoven on a two-year loan deal with an option to buy.[33]
Fulham
On 1 September 2022, after Vinícius' loan with PSV was cut short, he joined English club Fulham on a three-year contract with a club option to extend for a further year.[34] Two days later on 3 September 2022, Vinicius made his Fulham debut, coming on as a 85th minute substitute, in a 2–1 defeat against Tottenham Hotspur.[35]
He scored his first goal, and the decisive one, in the West London derby as Fulham beat Chelsea 2–1 for the first time since March 2006.[36]
Galatasaray (loan)
On 2 February 2024, Fulham and Galatasaray agreed on a 6-month loan move for Carlos Vinícius.[37]
^"Caldense é superada pelo Uberlândia" [Caldense is beaten by Uberlândia] (in Brazilian Portuguese). AA Caldense. 20 March 2017. Retrieved 14 February 2020.