Born in Belgrade, Vlahović started playing football in "Altina Zemun" football school, where he spent mostly time with older generations. Later he was with OFK Beograd for three months, and also made 1 appearance for Red Star Belgrade, but he joined Partizan in summer 2014. Vlahović signed his first professional contract with Partizan in 2015, when he was only 15 years old. At the beginning of 2016, Vlahović joined the first team under coach Ivan Tomić and got the jersey number 9. He made his Serbian SuperLiga debut on 21 February 2016 against OFK Beograd, as the youngest debutant in history of Partizan. In the next fixture, played on 27 February 2016, Vlahović became the youngest player in the Eternal derby, when he was substituted on for the beginning of the second half. Previously, the record was kept by Luka Jović. On 2 April 2016, Vlahović scored his first goal for Partizan against Radnik Surdulica in 3–2 home win and became the youngest scorer in club history. He also scored a goal in a semifinal cup match against Spartak Subotica, played on 20 April 2016 in 0–3 away win. Throughout the spring, Vlahović was scouted by a number of established European teams, including Arsenal, Anderlecht and Juventus, but later, Partizan has declined all offers. Vlahović was also a scorer in the final cup match against Javor Ivanjica, which Partizan won. Vlahović played his first match in new season against Zagłębie Lubin on 21 July 2016 in 2nd leg of the 2016–17 UEFA Europa Leaguesecond qualifying round, which was his international debut for Partizan. Vlahović started his first match on the field in 2nd fixture match of the 2016–17 Serbian SuperLiga season in away match against Napredak Kruševac. In summer 2017, Vlahović was announced as the future transfer, after which he stayed with Partizan until the winter transfer window and his 18th birthday. Miloš Vazura and Ivica Iliev, members of the club management, refused to confirm Vlahović's departure and he continued training with the first team for the 2017–18 season.
Fiorentina
In summer 2017, Vlahović preliminary signed a five-year professional contract with Fiorentina, which became official on his 18 birthday, 28 January 2018. Vlahović officially promoted in new club on 22 February 2018, choosing to wear number 18 jersey. Due to the administrative norms, he was not available to play until 1 July 2018. On 18 August 2019, Vlahović scored a brace in a 3–1 win against Monza in the third round of the 2019–20 Coppa Italia. In his second season with Fiorentina he found more space in the squad, and he also scored some goals during the season. On the 13thMarch 2020, Vlahovic tested positive for COVID-19.
International career
Vlahović was a member of first Serbian under-15national football team, scoring a hat trick in match against Czech on 16 April 2015. He also called into the Serbian under-16 squad in late 2015, making his debut against Poland on 27 October 2015. In August 2016, Vlahović was called into Serbian under-19 squad for memorial tournament "Stevan Vilotić - Ćele", where he debuted in opening match against United States. In 2nd match of the same tournament, he scored a goal against France. After Serbia beat Israel in the final match, Vlahović was nominated for the most talented player of the tournament.