Amrabat begon met voetballen bij HSV De Zuidvogels en werd in 2007 opgenomen in de jeugd van FC Utrecht. Daarvoor debuteerde hij op 2 november 2014 in het betaald voetbal. Hij viel die dag in de 83e minuut in voor Kristoffer Peterson tijdens een competitiewedstrijd thuis tegen Vitesse (3-1). Amrabat groeide in het seizoen 2016/17 uit tot basisspeler bij FC Utrecht. Daarmee eindigde hij dat jaar als nummer vier in de Eredivisie. Zijn ploeggenoten en hij wonnen daarna de play-offs voor Europees voetbal. Amrabat maakte tijdens de eerste wedstrijd van de play-offs ook zijn eerste doelpunt in het betaald voetbal; hij bracht FC Utrecht op 0-1 tijdens een 1-3 overwinning uit bij sc Heerenveen op 17 mei 2017.
Feyenoord
Amrabat tekende op 30 juni 2017 een contract tot 2021 bij Feyenoord, de Nederlandse kampioen van het voorgaande seizoen. Dat betaalde circa €4.000.000,- voor hem aan FC Utrecht.[1][2]
Bij zijn debuutwedstrijd won hij als invaller de Johan Cruijff Schaal 2017.
Club Brugge
Op 24 augustus 2018 tekende Amrabat voor vier seizoenen bij de Belgische landskampioen Club Brugge dat ongeveer €2.500.000,- betaalde aan Feyenoord.[3] Op 26 augustus 2018 maakte hij zijn debuut in de hoogste afdeling tegen Anderlecht (2-1). Amrabat kwam zestien minuten voor tijd Wesley vervangen.[4] Zijn eerste doelpunt in de reguliere competitie maakte Amrabat op 2 december 2018 tegen Standard Luik. De wedstrijd eindigde op 3-0 en Amrabat stond garant voor het derde doelpunt. Die wedstrijd betrof ook de eerste wedstrijd in de competitie waar hij de 90 minuten vol maakte. Bij Brugge kon hij nooit een vaste basisplaats afdwingen.[5]
Hellas Verona
Hellas Verona toonde aan het begin van het seizoen 2019-20 interesse in Amrabat, die bij Club Brugge op een zijspoor was geraakt. Met Club Brugge werd overeen gekomen dat hij dat seizoen op huurbasis overgenomen kon worden. In de huurovereenkomst werd een optie tot aankoop opgenomen[6]. Bij Hellas Verona maakte Amrabat een goede start.[7] In januari 2020 lichtte Hellas Verona de optie en verkocht hem direct door aan ACF Fiorentina. Amrabat maakt het seizoen 2019/20 op huurbasis af bij Hellas Verona.