Bačinović started his career at Železničar Maribor and was later transferred to NK Maribor youth sides. He signed his first professional contract in 2007. Bačinović made his first team debut on 7 July 2007 as a late substitute in an Intertoto Cup tie with Hajduk Kula. His first start came later that season in PrvaLiga match, a 1–1 draw with Nafta Lendava. Managers Milko Gjurovski and Branko Horjak established him in Maribor first team that season.
On 14 August 2010 he has made his 100th appearance for Maribor.
On 27 August 2010 it was confirmed that Palermo had acquired Bačinović and teammate Josip Iličić from Maribor in a permanent move; the move was finalized the very next day after Palermo had eliminated Maribor from the 2010–11 UEFA Europa League in a 5–3 aggregate win, which was also the latest appearance for both players in purple jersey. Despite his young age and lack of experience in Italian football, Bačinović immediately established himself as a key player in the Sicilians' midfield line in a 4–3–2–1 scheme together with Antonio Nocerino and Giulio Migliaccio, and scored his first goal for Palermo on 17 October 2010 against Bologna.
In April 2011, Bačinović was quoted as saying he wanted to play in the Premier League, with Chelsea and Liverpool both rumoured to be interested in signing him. On 20 June he signed a new 5-year contract.
Bačinović failed to repeat his performances in his second season at Palermo, mostly due to recurring injuries and lack of confidence from the three head coaches of the season (Stefano Pioli, Devis Mangia and Bortolo Mutti, respectively). A move on loan to Serie B club Padova did not materialize in January 2012 after he failed a medical, thus forcing the Slovene off the pitch for the remainder of the season, except for a very few occasional appearances (mostly as a substitute). On 9 July 2012, Palermo announced to have agreed a loan deal with Serie B club Verona. He played only a handful games during the season and left Verona by the end of the season to come back at Palermo. After a disappointing first half of season at Palermo, he was deemed surplus to requirements and excluded from the squad list after the club failed to sell him during the 2014 winter transfer window.
On 21 August 2014 it was confirmed Bačinović had mutually rescinded his contract with Palermo, thus ending a four-year spell with the Sicilians. Later on the same day, Serie B club Virtus Lanciano announced to have signed him as a free transfer on a three-year deal.
After finding himself without a club following the cancellation of Virtus Lanciano, on 19 August 2016 Bačinović agreed a one-year contract with another Serie B club, Ternana.
On 31 January 2017, he left Ternana to accept a permanent deal with Lega Pro club Sambenedettese.
He made ten appearances for Slovenia U21 and scored one goal. On 12 August 2009, Bačinović made his full international debut for Slovenia at Ljudski vrt, Maribor in a 2010 FIFA World Cup qualification match against San Marino.As of 30 December 2012