Johannesson è diventato arbitro nel 1994, debuttando nella massima serie del campionato svedese sette anni dopo, nel 2001.
Il 1º gennaio 2003 è nominato internazionale.
Fa il suo debutto in una gara ufficiale tra nazionali maggiori poco dopo, il 20 agosto del 2003, quando è chiamato a dirigere l'incontro amichevole tra Estonia e Polonia.
Successivamente, inizia ad essere designato per partite di preliminari di Intertoto e Coppa UEFA.
Ottiene per la prima volta una partita della fase a gironi di Coppa UEFA nell'ottobre del 2006, e un sedicesimo di finale della stessa competizione nel febbraio del 2009.
Fa poi il suo esordio nella fase a gironi della Champions League nel novembre del 2010, dirigendo un match tra Žilina e Olympique Marsiglia.
Nel marzo del 2012 è selezionato ufficialmente come arbitro di porta in vista di Euro 2012, nella squadra arbitrale diretta dal connazionale Jonas Eriksson.[1] Quattro anni dopo viene confermato nel ruolo, e figurerà così come primo addizionale anche agli Europei in Francia, nella squadra arbitrale diretta dal connazionale Jonas Eriksson.
Dopo 342 partite di Allsvenskan – record per la massima serie svedese[2] – e 79 partite internazionali dirette, si ritira dall'attività di arbitro al termine della stagione sportiva 2019, in prossimità dei 48 anni di età.[3]