Abrashi was born in Bischofszell, Switzerland, to Albanian parents from Gjakova, Kosovo who had emigrated in Switzerland before his birth. He grew up in the Canton of Thurgau region and began his career in 2002 at the age of 12 with his hometown club, FC Bischofszell. A year later, he moved to FC Weinfelden-Bürglen, where he spent two years before returning to his hometown club FC Bischofszell. However, just a month after his return, at age of 16 Abrashi moved to Winterthur along with his family, where he joined local side FC Winterthur, the club where he would remain for the remainder of his youth career.
Following impressive performances with the youth teams, Abrashi was first called up to the reserve side towards the end of the 2006–07 season, making his debut on 16 May 2007 in a goalless draw against GC Biaschesi, coming on in the 81st minute for Micha Iseli. Ten days later he was in the starting formation for the 3–2 away win against FC Chur 97. The following season, he started in the youth team but was promoted permanently a few months into the season, and on 11 November 2007 he came on as a late substitute in a 4–3 loss against FC St. Gallen II. The following game he started in midfield against FC Herisau in a game which ended in a 4–1 win, and Abrashi scored his first competitive goal in the 90th minute of this game. He became a regular in the squad's starting line-up for the second half of the season, even scoring again against FC Baden. His performances in the reserve side caught the attention of the first team coach Mathias Walther, who included the 18-year-old in his squad for the Challenge League class against FC La Chaux-de-Fonds on 27 April 2008. Abrashi came on as a 67th-minute substitute for fellow Albanian Sehar Fejzulahi in the 1–0 away loss. He made 2 more appearances off the bench for the senior side against FC Lugano and SR Delémont, respectively.
In July 2010, Abrashi was loaned for a year to the Grasshopper Club Zürich. After the loan contract ended in 2011, he was bought from Grasshopper for a fee of €600,000. He played together with other Albanian compatriots with origins in Kosovo, such as Shkëlzen Gashi, Shani Tarashaj, Imran Bunjaku, Albion Avdijaj, and Mërgim Brahimi.
On 3 June 2015, it was announced the Abrashi had successfully completed a move to German side SC Freiburg. He was presented on the same day, where he signed the three-year deal and was given the squad number 6.
Abrashi made his official debut with the club on 27 July 2015 in the opening match of 2. Bundesliga against Nürnberg, playing full-90 minutes in a 6–3 home win. He scored his first goal for the team on 11 September in Freiburg's 2–0 defeat of Kaiserslautern. He quickly established himself in the starting lineup, becoming an important instrument in the team's midfield, playing 33 league match throughout the season, as the team achieved the promotion to Bundesliga by winning the league.
Abrashi made his Bundesliga debut on 28 August 2016 in the opening league match of 2016–17 season, playing full-90 minutes in team's 2–1 away defeat to Hertha BSC in the last moments. After remaining on the bench for half of September, he returned and scored his first top flight goal on 29 October in Freiburg's 3–1 defeat of Werder Bremen. On 19 December, he agreed a contract extension, signing until 2020, with the new deal including a significant wage rise.
Amir Abrashi was an important player of Swiss youth national teams, earning more than 40 caps in total. The highlights of his career for Switzerland were the achievement of runner-up at the 2011 UEFA European Under-21 Championship, coming on as a second-half substitute in the final against Spain (0–2), and the subsequent participation in the 2012 Summer Olympics as a regular player where Switzerland lost in the group games against the later Gold Medalist Mexico (0–1) and Bronze Medal winner South Korea (1–2), while achieving a 1–1 draw against Gabun.
Abrashi, who was serving for the Swiss Army, repeatedly stated his wish to play for the Swiss national team in the future: "That's no question for me. I grew up here and I feel like a Swiss." However, the big competition for a spot in the Swiss national team on his position of central midfield by such players as Valon Behrami, team captain Gökhan Inler, Granit Xhaka, Blerim Dzemaili, Pajtim Kasami, Gelson Fernandes, Fabian Frei, or Pirmin Schwegler made him reconsider his decision. In a long talk with Ottmar Hitzfeld in May 2013, the Swiss national team coach told Abrashi that he is following his development closely and would like Abrashi to play for Switzerland in the future, but given the competition on his position, he would need patience in order to catch a regular spot in the team. After this talk, Abrashi decided to play for the Albanian football association in the future, stating: "It hurts that I can't play for Switzerland, which would have been my first choice, but the step to become a national team player is important in this stage of my career as a footballer. I cannot wait until I'm 26."
In order to become a national team player for Albania, not only Abrashi himself but also his parents, who hail from Kosovo, had to apply for Albanian passports. On 24 May 2013, Abrashi received Albanian citizenship along with 4 fellow Albanian international players, Jurgen Gjasula, Ilir Berisha, Azdren Llullaku, and Vullnet Basha.
He received his first call up from Albania by coach Gianni De Biasi for the 2014 FIFA World Cup qualification match against Norway on 7 June 2013. On 3 June 2013, FIFA gave the go ahead for Abrashi to play for Albania also in international official matches, such as the 2014 FIFA World Cup qualification.
He played his first match for Albania on 14 August 2013 as a starter against Armenia in a friendly match, which ended in the 2–0 victory for Albania.
Abrashi was called up for the 2014 FIFA World Cup qualification matches against Slovenia on 6 September 2013 and Iceland on 10 September 2013. He made his official international debut on 6 September 2013 against Slovenia coming on as a substitute in the 80th minute in place of Migjen Basha.
On 21 May 2016, Abrashi was named in Albania's preliminary 27-man squad for UEFA Euro 2016, and in Albania's final 23-man UEFA Euro squad on 31 May. On 28 May, he capitained his side for the first time during the Euro 2016 warm-up match against Qatar, which ended in a 3–1 win, becoming the youngest ever captain.
Abrashi played every minute of all Group A matches as Albania were eliminated by ranking in the 3rd place behind hosts France against which they lost 2–0 and Switzerland against which they also lost 1–0 in the opening match and ahead of Romania by beating them 1–0 in the closing match with a goal by Armando Sadiku. Albania finished the group in the third position with three points and with a goal difference –2, and was ranked last in the third-placed teams, which eventually eliminated them.As of 9 September 2017
As of 2 September 2017
Swiss Cup: 2012–13
Swiss Super League: Runner-up 2012–13, 2013–14
2. Bundesliga: 2015–16