Rrahmani at the age of 9, he started playing football in Kosova Prishtinë, he also was part of youth teams of Ramiz Sadiku and Drenica with the latter, Rrahmani made his debut as professional footballer during the 2010–11 season where he immediately began to impress despite being only 17 years old.
On 14 August 2012, Rrahmani went on trial with Albanian Superliga side Kastrioti, where he impressed the coaching staff at Kastrioti but a deal to sign the player could not be agreed after negotiations stalled over a compensation package which was reported to be about €3,000.
Return to Drenica
Rrahmani returned to Football Superleague of Kosovo side Drenica, where he became an important first team player as he helped his side finish just above the relegation play-off zone. His contract expired at the end of the 2012–13 season and he was allowed to leave Drenica, on a free transfer.
Rrahmani after much interest from different teams as well the reigning champions in that time, Skënderbeu Korçë, he would ultimately decide to joined with Albanian Superliga side Partizani Tirana. His debut with Partizani Tirana came on 21 September in Matchday 4 of 2013–14 Albanian Superliga against Besa Kavajë after coming on as a substitute at 46th minute in place of Gëzim Krasniqi.
On 5 June 2015, Rrahmani joined Croatian First Football League side Split. His debut with Split came on 14 July in the opening league match against Lokomotiva after being named in the starting line-up. Following that, Rrahmani become a regular starter in line-up with Zoran Vulić and later Goran Sablić, establish himself in the center of defence. During the 2015–16 season, Rrahmani for five times was named on the line-up of the week as in matchday 15, matchday 17, matchday 23, matchday 25 and matchday 30, besides this success, he continued with his solid appearances which led to his value up to €1 million.
On 30 August 2016, Rrahmani joined with champion of Croatian First Football League side Dinamo Zagreb. Dinamo Zagreb reportedly paid a €1.6 million transfer fee.
Loan at Lokomativa
Eight days after the transfer to Dinamo Zagreb, Rrahmani joined with another Croatian First Football League side Lokomotiva, on a season-long loan. On 11 September 2016, he made his debut in a 2–3 away win against Slaven Belupo after being named in the starting line-up.
Return from loan
On 21 June 2017, Rrahmani returned to Croatian First Football League side Dinamo Zagreb. A month later, he made his debut in a 4–0 home win against Cibalia after coming on as a substitute at 68th minute in place of Filip Benković.
Hellas Verona
On 26 June 2019, Rrahmani joined Serie A side Hellas Verona, on a four-year contract. Hellas Verona reportedly paid around €2 million transfer fee. One day later, the club confirmed that Rrahmani had joined on a permanent transfer.
Napoli
On 20 January 2020, Rrahmani joined Serie A side Napoli. Napoli reportedly paid a €14 million transfer fee.
Return to Hellas Verona as loan
On 20 January 2020, Rrahmani was sent back on loan to Serie A club Hellas Verona for the remainder of the season.
On 23 January 2013, Rrahmani received a call-up from Albania U21 for a friendly match against Macedonia U21 and made his debut after coming on as a substitute at 82nd minute in place of injured Andi Thanoj.
Senior
On 6 June 2014, Rrahmani after the good performances with Partizani Tirana and Albania U21 received a call-up from Albania for a friendly match against San Marino and made his debut after coming on as a substitute at 83rd minute in place of injured Elseid Hysaj. On 13 November 2015, he scored the first goal for the Albania in the friendly match against Kosovo, a team he would later play for.