- 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