Born in Šempeter pri Gorici, he spent his childhood in Nova Gorica, Slovenia. Birsa's career began at the age of five, when he started playing for ND Bilje, the village club of Bilje near Nova Gorica. As he was a talented player, he was soon transferred first to Primorje, then to Gorica at the age of 17. By the second season he was already the second best striker and one of the best in the Slovenian first league, scoring 29 goals for his home team, an outstanding goalscoring record for a midfielder.
On 22 January 2009 AJ Auxerre signed him on a loan deal until June 2009 from Sochaux. He scored his first Auxerre goal against giants Lyon. On 29 May, it was announced that Auxerre had made the loan permanent. In the 2010–11 season, Birsa scored a 23 yard free kick and his first Champions league goal against Ajax in the group stage, Ajax eventually won 2–1.
On 2 February 2011, despite interest from big Premier league teams such as Liverpool and Fulham, Birsa signed a four year contract with Serie A team Genoa. He made just nine appearances in his maiden season in the Italian Serie A.
He signed with Torino on the 31st of August 2012 on a loan basis. At Torino, Birsa played 17 games, scoring 2 goals but did not do enough to convince Torino to sign him on a permanent deal so he returned to Genoa at the end of the season.
He signed with A.C Milan on 31 August 2013, in a straight swap deal which saw Luca Antonini move in the opposite direction. He was handed the no. 14 shirt at AC Milan. He scored his first goal for Milan on 28 September 2013 against Sampdoria to give the Rossoneri a win.
He also plays for the Slovenian national football team, and was the youngest player to have that honor at the age of 18. He scored his first goal for the national team on 9 September 2009 in a World Cup qualifying match against Poland, which Slovenia won 3–0. At the 2010 World Cup finals, Birsa struck a long-range curling shot in Slovenia's 2nd match against the United States. Slovenia drew that match 2–2.