Przed 1990 należał do Polskiej Zjednoczonej Partii Robotniczej, był I sekretarzem na WSP. W latach 1993–1997 zasiadał w Senacie III kadencji z ramienia Sojuszu Lewicy Demokratycznej, reprezentując województwo kieleckie. Od października 1993 do marca 1995 był wicemarszałkiem Senatu, kiedy to złożył rezygnację z funkcjiUchwała Senatu Rzeczypospolitej Polskiej z dnia 16 marca 1995 r. w sprawie odwołania senatora Ryszarda Czarnego ze stanowiska wicemarszałka Senatu ().. Objął następnie funkcję ministra edukacji narodowej w rządzie Józefa Oleksego (1995–1996). W Senacie był także członkiem Komisji Nauki i Edukacji Narodowej oraz Komisji Spraw Zagranicznych i Międzynarodowych Stosunków Gospodarczych.

Złożył mandat kilka miesięcy przed końcem kadencji, obejmując urząd ambasadora RP w Szwecji. W 2001 wrócił do Polski, pracował w Ministerstwie Spraw Zagranicznych. Od 17 sierpnia 2005 do 28 lutego 2007 był ambasadorem w Norwegii, akredytowanym także w Islandii. Pracował następnie jako wykładowca w Instytucie Nauk Politycznych i Stosunków Międzynarodowych Uniwersytetu Jagiellońskiego, następnie został profesorem nadzwyczajnym na Uniwersytecie Jana Kochanowskiego w Kielcach, gdzie objął kierownictwo Katedry Krajów Europy Północnej. W 2011 został członkiem Komitetu Nauk Politycznych Polskiej Akademii Nauk.