Efter at have spillet i hjemlandet som ungdomsspiller startede Bjarnason sin seniokarriere i Norge hos Viking Stavanger. Her spillede han de følgende seks sæsoner, og nåede mere end 100 Tippeliga-kampe, inden han skiftede til Standard Liège i Belgien i januar 2012. Bjarnason var kun i den belgiske liga i et halvt år, inden han de følgende år spillede i Italien for Pescara og Sampdoria. I sommeren 2015 skiftede han til det schweiziske mesterhold FC Basel. Han debuterede for holdet 25. juli samme år i en ligakamp mod Grasshoppers. I sin første sæson i klubben var han med til at vinde det schweiziske mesterskab. I januar 2017 skiftede Bjarnason til Aston Villa i England.  Landshold Bjarnson har (pr. maj 2018) spillet hele 64 kampe og scoret ni mål for Islands landshold. Han debuterede for holdet 29. maj 2010, i en venskabskamp mod Andorra. Han blev udtaget til den islandske trup til EM 2016 i Frankrig, og skrev historie ved at score det første islandske slutrunde-mål nogensinde, da han den 14. juni udlignede til 1-1 i holdets åbningskamp mod de senere europamestre fra Portugal. To år senere var han også en del af holdet til VM 2018 i Rusland.