Și-a început cariera la RNK Split, iar în 2013 a semnat cu clubul de Serie AFiorentina pentru o sumă de transfer necunoscută. El și-a petrecut cea mai mare parte a timpului împrumutat la RB Leipzig, Hellas Verona și Eintracht Frankfurt. Rebić a fost transferat definitiv de Eintracht Frankfurt în iulie 2018.
Rebić și-a făcut debutul pentru Croația în 2013, același an în care a fost votat Speranța Anului în fotbalul croat. Și-a reprezentat echipa la Campionatele Mondiale din 2014 și 2018, ajungând în finala ultimului.
Rebić și-a început cariera la echipele de juniori ale lui Vinjani înainte de a se transfera la Imotski în 2008, unde a petrecut două sezoane. După mai multe meciuri bune făcute la un turneu din Italia în 2010, unde a jucat la echipa de tineret a lui Hajduk Split, Rebić a fost cumpărat de RNK Split de Darko Butorović.[3]
Rebić și-a făcut debutul pentru prima echipă împotriva lui Dinamo Zagreb, la 21 mai 2011, în ultima rundă a Prva HNL din 2010-2011, intrând ca rezervă în cea de-a doua repriză. Meciul s-a încheiat cu o remiză scor 1-1, cu Rebić marcând golul egalizator.[4][5] În august 2011, Rebić a semnat un contract pe trei ani cu RNK Split.[6] În sezonul 2011-2012, Rebić a marcat cinci goluri în douăzeci de meciuri, dintre care patru le-a înscris din postura de rezervă. În sezonul 2012-2013, Rebić a marcat zece goluri în douăzeci și nouă de apariții. Descurcându-se bine atât la club, cât și la echipa națională, Rebić a atras atenția atât din partea mass-mediei, cât și din partea lumii fotbalului, ceea ce a stârnit interesul unor cluburi, printre care Fiorentina, Tottenham Hotspur și Swansea City.[7]
La 28 august 2013, Rebić a semnat un contract pe cinci ani cu Fiorentina, pentru o sumă de transfer nedivulgată presei.[8] După ce a trecut vizita medicală, i sa dat tricoul cu numărul 9.[9] El a debutat pe 30 septembrie, intrând în minutul 36 în locul coechipierului său accidentat, Giuseppe Rossi, într-o remiză scor 2-2 împotriva Parmei.[10] În timpul meciului de debut, a suferit o accidentare care l-a ținut pe tușă timp de trei săptămâni. Rebić a mai jucat trei meciuri pentru Fiorentina înainte de a marca primul său gol pe 8 ianuarie 2014, cel de-al doilea al victoriei de pe teren propriu cu 2-0 din Coppa Italia, împotriva lui Chievo Verona.[11] Pe 18 mai a marcat primul său gol în Serie A în egalul cu Torino scor 2-2 de pe Stadio Artemio Franchi, la două minute după ce l-a înlocuit Manuel Pasqual.[12]
Pe 3 august 2014, Rebić a semnat cu clubul de 2.BundesligaRB Leipzig, fiind împrumutat pentru un sezon.[13] După încheierea împrumutului său la Leipzig, Rebić s-a întors la Fiorentina și a primit tricoul numărul 11, purtat anterior de Juan Cuadrado, și a fost folosit în principal ca aripa stângă. El și-a făcut debutul european la echipă pe 1 octombrie, într-o înfrângere scor 4-0 cu Belenenses în Europa League. În următorul meci în această competiție, Rebić a fost eliminat pentru un fault imprudent făcut în prelungirile partidei, într-o înfrângere scor 2-1 cu Lech Poznań. Pe 1 noiembrie a marcat primul său gol în Serie A, într-o victorie cu 4-1 împotriva lui Frosinone.[14]
După ce a jucat în șase partide și a înregistrat o singură înfrângere pentru Fiorentina, Rebić a fost împrumutat la Hellas Verona la 14 ianuarie 2016.[15] Cu toate acestea, el nu a reușit să înscrie în nouă apariții, iar Verona a fost retrogradată în Serie B. La 20 martie, ca înlocuitor al lui Giampaolo Pazzini, a fost eliminat pentru două cartonașe galbene la sfârșitul unei pierderi pierdute cu 2-1 la Carpi pe Stadio Marc'Antonio Bentegodi.[16]
Rebić într-un meci pentru Eintracht Frankfurt în ianuarie 2017
Rebić s-a alăturat echipei Eintracht Frankfurt pe 11 iulie 2016, reunindu-se cu fostul antrenor al echipei naționale, Niko Kovač.[17] După o scurtă perioadă de indisponibilitate cauzată de mononucleoză, Rebić și-a făcut debutul pe 17 septembrie împotriva lui Bayer Leverkusen, înlocuindu-l pe Marco Fabián în victoria cu 2-1.[18] La 5 februarie 2017 a marcat primul său gol pentru noua sa echipă în victoria scor 2-0 cu HesseSV Darmstadt 98 pe Commerzbank Arena.[19] La 27 mai, el a egalat în finala DFB-Pokal din 2017, însă Frankfurt a pierdut cu 2-1 la Borussia Dortmund.[20]
La 31 august 2017, Rebić a fost împrumutat pentru a doua oară la Frankfurt pentru încă un an cu opțiune de cumpărare.[21] În toate competițiile a marcat nouă goluri și a dat trei pase de gol în acel sezon.[22] Printre acestea s-au numărat două goluri marcate pe 19 mai în finala DFB-Pokal din 2018, o victorie cu 3-1 care i-a adus clubului prima lui cupă din 1988 și i-a refuzat lui Bayern München realizarea dublei.[23] La încheierea sezonului, Eintracht Frankfurt și-a exercitat opțiunea de a-l achiziționa definitiv pe Rebić pentru 2 milioane de euro.
La 10 august 2018, Rebić a semnat un nou contract care va dura până în iunie 2022.[24] El a fost urmărit demai cluburi, printre care Manchester United, Tottenham Hotspur, Bayern München și Sevilla, iar Frankfurt și-a pierdut câțiva jucători importanți, printre care și Kovač, care a fost vândut la Bayern.[25] Două zile mai târziu, Frankfurt a pierdut în DFL-Supercup 2018 acasă cu aceaași echipă, cu Rebić intrând în minutul 64.[26]
Rebiș joacă pentru Croația împotriva Argentinei la Cupa Mondială de la FIFA 2018
La 31 iulie 2013, Rebić a fost convocat pentru prima dată la echipa națională, înaintea unui amical cu Liechtenstein. El l-a înlocuit pe Ivica Olić în minutul 63 și patru minute mai târziu a marcat în meciul câștigat cu 3-2. A fost lăudat de selecționerul Igor Štimac după meci.[27]
La sosirea noului antrenor al echipei naționale Niko Kovač, fostul său antrenor al Croației U21, Rebić a fost chemat pentru meciurile de play-off contând pentru calificările la Campionatul Mondial împotriva Islandei în noiembrie 2013. El a intrat din postura de rezervă în ambele meciuri, în urma cărora Croația și-a asigurat locul la Campionatul Mondial din 2014, câștigând 2-0 la general.[28][29]
Rebić a fost numit în lotul final de 23 de jucători al lui Kovač pentru turneul din Brazilia.[30] El a luat parte la meciul de deschidere împotriva gazdelor turneului din São Paulo, intrând spre finalul partidei într-o înfrângere cu 3-1.[31] El a intrat de pe bancă și în următoarele două meciuri, însă Croația a fost eliminată, iar Rebić a rezistat doar 20 de minute pe teren în partida disputată în fața Mexicului, fiind eliminat în urma unui fault la Carlos Peña.[32]
Din iunie 2015 până în noiembrie 2017, Rebić nu a fost convocat la naționala Croației.[22] El a fost numit în lotul final al managerului Zlatko Dalić pentru Campionatul Mondial din 2018 din Rusia.[33] În al doilea meci din grupe împotriva Argentinei din Nijni Novgorod, el l-a lobat pe portarul Willy Caballero după o greșeală a acestuia deschizând scorul în victoria croată cu 3-0.[34] În meciul din optimi împotriva Danemarcei, el a avut șansa de a marca aproape de sfârșitul timpului suplimentar, dar a fost faultat de Mathias Jørgensen; Luka Modrić a ratat penaltiul care a rezultat în urma faultului, dar croații au câștigat la loviturile de departajare.[35] Rebić a început ca titular în finală și a fost înlocuit de Andrej Kramarić după 71 de minute, cu Croația pierzând cu 4-2 în fața Franței pe stadionul Lujniki.[36]