1990-1992 m. Lietuvos demokratinės darbo partijos (LDDP) sekretoriato parlamentinės grupės vadovas.
1992-1996 m. šeštojo Lietuvos Respublikos Seimo narys. 1993-1996 m. Seimo Pirmininko pavaduotojas.
1997-1998 m. Respublikos Prezidento Algirdo Brazausko patarėjas politikos klausimais.
1998- 2000 m. septintojo Lietuvos Respublikos Seimo narys.
2000-2004 m. aštuntojo Lietuvos Respublikos Seimo narys. 2001-2003 m. Lietuvos Respublikos vidaus reikalų ministras.
2004-2006 m. Ministro Pirmininko Algirdo Brazausko patarėjas politikos klausimais, vėliau Ministro Pirmininko Gedimino Kirkilo vyriausiasis patarėjas.
2006-2012 m. Lietuvos Respublikos ambasadorius Estijos Respublikoje.
2012–2016 m. dešimtojo Lietuvos Respublikos Seimo narys. 20012-2016 m. Lietuvos Respublikos teisingumo ministras.
2016-2020 m. vienuoliktojo Lietuvos Respublikos Seimo narys. Seimo užsienio reikalų komiteto pirmininkas.

