Na zijn jeugdopleiding te hebben doorlopen bij FH Hafnarfjörður brak Emil Hallfreðsson ook door bij die club. Na één seizoen in het eerste elftal werd hij samen met de Tsjech David Limberský door technisch directeur Frank Arnesen naar Tottenham Hotspur gehaald.[1] Hij werd door de club verhuurd aan Malmö FF.[2] Voor Tottenham zelf kwam hij niet in actie. Via Lyn Oslo[3], waarvoor hij één duel speelde, kwam hij binnen twee weken bij het Italiaanse Reggina.[4] Door Reggina werd hij verhuurd aan Barnsley en Hellas Verona.[5] Nadat hij in zijn eerste seizoen bij Hellas uitgeroepen werd tot Speler van het Jaar,[6] nam de club hem definitief over. Emil verkaste in januari 2016 naar Udinese.[7] Tweeënhalf jaar later werd Frosinone zijn nieuwe werkgever. Hij zette zijn handtekening onder een verbintenis voor de duur van twee seizoenen.[8] Na een halfjaar gingen club en speler uit elkaar.[9] Anderhalve maand later keerde Emil terug bij Udinese, waar hij tot het einde van het seizoen tekende.[10] Na een half seizoen zonder club kwam hij begin 2020 terecht bij Padova en in oktober 2021 bij Virtus Verona.[11] In de zomer van 2023 besloot Hallfreðsson op negenendertigjarige leeftijd een punt achter zijn actieve loopbaan te zetten.
Emil debuteerde op 30 maart 2005 in het IJslands voetbalelftal, toen er met 0–0 gelijkgespeeld werd tegen Italië. Hij viel drie minuten voor tijd in voor Grétar Steinsson.[13] Op 8 september 2007 trof hij tijdens het met 1–1 gelijkgespeelde duel met Spanje voor het eerst doel namens de nationale elf.[14] Op 9 mei 2016 maakte bondscoach Lars Lagerbäck bekend Emil mee te nemen naar het Europees kampioenschap in juni 2016. Hij was een van de meest ervaren spelers in de selectie.[15][16] IJsland werd in de kwartfinale uitgeschakeld door gastland Frankrijk, dat met 5–2 won.