Johann maakte deel uit van de jeugdopleidingen van Breiðablik, Chelsea en Fulham. Hij debuteerde in 2008 in het betaald voetbal bij het plaatselijke Breiðablik. Hij studeerde in zijn periode in Engeland aan de 'International School of London'. Bij Breiðablik speelde hij in zijn eerste seizoen 22 competitiewedstrijden, waarin hij tot zes doelpunten kwam. Op 30 september 2008 accepteerde zijn club een aanbod van Hamburger SV. De deal ging echter niet door.[bron?] Eind november 2008 werd Johann afgetest bij Coventry City.
Johann tekende op 28 januari 2009 een contract dat hem voor vijf jaar aan AZ verbond. Hij begon hier in de jeugd. Op 29 juli 2010 maakte hij als basisspeler zijn debuut in het eerste elftal, in een thuiswedstrijd in de tweede voorronde van de UEFA Europa League tegen IFK Göteborg. Hij scoorde de tweede treffer namens AZ. Johann maakte vijf jaar deel uit van AZ, dat in die jaren vijfde, vierde, nog een keer vierde, tiende en achtste werd in de Eredivisie. Hij won in 2013 de KNVB beker met de club, waarbij hij zelf het grootste deel van de finale meespeelde.
Johann tekende in juli 2014 een tweejarig contract bij Charlton Athletic. Dat lijfde hem transfervrij in nadat zijn contract bij AZ afliep.[1] Hij beëindigde zijn eerste seizoen met Charlton als nummer twaalf in de Championship. Jóhann verlengde in juli 2015 zijn contract tot medio 2019.[2] In realiteit speelde hij daarna nog één jaar voor de club, dat eindigde in degradatie naar de League One.
Johann tekende in juli 2016 een contract tot medio 2019 bij Burnley, dat in het voorgaande seizoen promoveerde naar de Premier League. Het betaalde circa € 3.000.000,- voor hem aan Charlton Athletic. In zijn verbintenis werd een optie voor nog een seizoen opgenomen.[3][4]
Op 6 september 2013 maakte Jóhann een hattrick in de WK-kwalificatiewedstrijd tegen Zwitserland, die eindigde in een 4–4 gelijkspel.[6] In 2015 plaatste IJsland zich voor het Europees kampioenschap voetbal 2016. Op 9 mei 2016 maakte bondscoach Lagerbäck bekend Jóhann mee te nemen naar het toernooi in juni 2016.[7][8]
Interlands van Jóhann Berg Guðmundsson voor IJsland