- 1978-79 – Skara Skolscen
- 1984-87 – Teaterhögskolan i Malmö
- 1980-82 – Teater Aurora; titelrollen i Schillers Don Carlos 1981, regi Hilda Hellwig
- 1986-90 – Stockholms Stadsteater (Unga Klara); bl.a Suzanne Ostens Affären Danton 1986 och I Lusthuset 1988, Mars eller kärlekens spioner av Barbro Smeds, 1989, Stormen, regi Etienne Glaser, 1990
- 1990-93 – Dramaten; bl.a. I väntan på Godot, regi Karl Dunér, mot Thommy Berggren 1990, Beatrice, Rappaccinis dotter mot Stina Ekblad 1990, och Koltès I bomullsfältens ensamhet, regi Rickard Günther, 1992
- 1994 – Riksteatern; Salieri i Amadeus, mot Björn Kjellmans Mozart
- 1995 – Titelrollen i Hamlet i Norrköping, regi Ralf Långbacka
- 1995 – Stockholms Stadsteater; titelrollen i Merlin, regi Ronny Danielsson
- 1997 – Vasan; Jag älskar dig Markatta, mot Viveka Seldahl
- 1998 – Dramaten; titelrollerna i Oscar Wilde – rättegångarna och Råttfångaren
- 1999 – Göteborgs stadsteater;berättaren i Jasenko Selimovics Den Europeiska Kritcirkeln
- 2001-2 – Malmö Dramatiska teater; Dorian Grays porträtt mot Johan Widerberg
- 2001 – Malmöoperan; Kaspar Hauser, regi Johanna Garpe.
- 2002 – Göteborgsoperan; Zac i A chorus line, regi Staffan Aspegren
- 2003 – Dramaten; Det kalla barnet, regi Staffan Valdemar Holm
– (anställd på Stockholms Stadsteater från 2005)
- 2005 – Amadeus, Sympati för djävulen,
- 2006 – En midsommarnattsdröm, regi Alexander Mørk-Eidem
- 2006 – Riksteatern, titelrollen i Linus Fellboms Rikard III, regi Linus Fellbom
- 2008 – Edward II, regi Suzanne Osten
- 2008 – Cabaret, regi Colin Nutley mot Helena Bergström
- 2010 – Maria Callas – obesvarat liv av Lucas Svensson, regi Linus Fellbom
- 2012 – Dramaten; Chéri, regi Jenny Andreasson
- 2013 – Kulturhuset Stadsteatern; Arnold, regi Olof Hansson
- 2014 – Kulturhuset Stadsteatern; Karl Gerhard, regi Johanna Garpe
- 2015 – Kulturhuset Stadsteatern; Den sista föreställningen, Wolff sjunger Brel, regi Linus Fellbom
- 2016 – Kulturhuset Stadsteatern; Dorian Grays porträtt regi Emil Graffman