Влаховић је фудбалом почео да се бави у школи фудбала Алтина из Земуна.[2][3] Касније је провео три месеца у ОФК Београду, а једну утакмицу је одиграо и за пионире Црвене звезде.[4][5] Током 2014. године долази у Партизан.[6]
Свој први професионални уговор са Партизаном је потписао у фебруару 2015, као 15-годишњак.[7] Почетком 2016, Влаховић се прикључио првом тиму Партизана код тренера Ивана Томића и том приликом је задужио дрес са бројем 9.[8] Деби у првом тиму Партизана је имао 21. фебруара 2016. на првенственој утакмици против ОФК Београда. Ушао је на терен у 70. минуту уместо Исмаела Фофане, па је тако са 16 година и 24 дана постао најмлађи дебитант у историји клуба.[9][10][11] У наредном колу, Влаховић је добио прилику да заигра и на 150. вечитом дербију. Ушао је у игру у 53. минуту уместо Валерија Божинова па је тако постао најмлађи дебитант у вечитим дербијима, престигавши рекорд који је претходно држао Лука Јовић.[12]
Први гол у дресу Партизана је постигао 2. априла 2016, на првенственој утакмици у Београду против Радника из Сурдулице. Влаховић је тако постао најмлађи стрелац у историји клуба, а до дебитантског гола је дошао са 16 година, два месеца и пет дана.[13][14] Такође је постигао гол у полуфиналу Купа Србије, против Спартака у Суботици када је Партизан славио са 0:3.[15] У финалу Купа против Јавора, у ком је Партизан победио са 2:0, Влаховић је поново био стрелац. Постигао је други гол за црно-беле у 97. минуту, и освојио је први трофеј у каријери.[16]
Деби у европским утакмицама, Влаховић је имао 21. јула 2016. на реванш утакмици 2. кола квалификација за Лигу Европе против Заглебја у Пољској.[17] Партизан је елиминисан након пенала, па је Влаховић у наставку сезоне наступао само у домаћим такмичењима. У другом колу шампионата 2016/17, на утакмици против Напретка у Крушевцу, Влаховић је по први пут заиграо за Партизан као стартер.[18] То му је био и једини пут да је био стартер, јер је у осталим мечевима у сезони 2016/17. улазио у игру са клупе. Укупно је у овој сезони наступио на девет утакмица (без постигнутог гола), и освојио је дуплу круну.[19]
У јуну 2017. Фјорентина је званично објавила да је откупила Влаховића. Клуб из Фиренце је навео да се Влаховић неће одмах придружити новом клубу, већ ће се сачекати да 28. јануара 2018. напуни 18 година.[20] Званичну промоцију у Фјорентини, Влаховић је имао 22. фебруара 2018. године. Задужио је дрес са бројем 18, а право наступа за клуб са Артемио Франкија је имао од 1. јула 2018.[21] Деби у дресу Фјорентине је имао 25. септембра 2018, у 6. колу Серије А, када је ушао у игру у 84. минуту утакмице у којој је његов клуб поражен (2:1) на гостовању Интеру на Ђузепе Меаци.[22][23] Влаховић је током сезоне 2018/19. наступио на 10 утакмица Серије А, а упоредо са играњем за први тим је наступао и за млади тим Фјорентине где је пружао запажене партије.[24]
Прве голове у дресу Фјорентине је постигао 18. августа 2019. на утакмици Купа Италије против Монце. Влаховић је ушао у игру у 74. минуту при вођству гостију и головима у 80. и 86. минуту донео Фјорентини преокрет и пласман у наредну рунду. До краја меча је забележио и асистенцију Федерику Кјези који је погодио за 3:1 и тако поставио коначан резултат.[25] Прве голове у Серији А је постигао 10. новембра 2019. када је Фјорентина поражена са 5:2 на гостовању Каљарију а Влаховић је био стрелац оба гола за свој тим.[26] Свој трећи гол у Серији А је постигао 15. децембра, на утакмици 16. кола, у којој је Фјорентина дочекала Интер. Ушао је у игру у 59. минуту при вођству гостију од 0:1, а у 92. минуту је постигао изједначујући гол и тако поставио коначних 1:1.[27][28]
На дан прославе свог 22. рођендана, 28. јануара 2022. године, Влаховић је потписао четворогодишњи уговор с Јувентусом, а вредност трансфера је износила 70 милиона евра.[29] Дебитовао је за Јувентус већ 6. фебруара, започевши утакмицу као стартер. Тада је постигао и свој првенац у дресу Старе даме (победа од 2 : 0 против Вероне).[30]
Влаховић је 22. фебруара по први пут у својој каријери заиграо у Лиги шампиона. Започео је утакмицу осмине финала, против шпанског Виљареала, а утакмице је завршена с резултатом 1 : 1. Једини гол за Јувентус на тој утакмици постигао је управо Влаховић и то само 33 секунде након почетка исте. Тако је постао играч који је, као стартер, на свом дебију, постигао најбржи гол у Лиги шампиона.[31] Четири дана касније, затресао је мрежу против Емполија и тако помогао екипи Јувентуса да победи на тој утакмици (2 : 3).[32]