1981 год — окончил исторический факультет университета Святого Климента Охридского в Софии.
С 1981 года — член Болгарской коммунистической (позднее социалистической) партии (БСП).
С 1981 года — научный сотрудник Института истории компартии Болгарии.
В 1988 году защитил докторскую диссертацию по истории.
С 1989 года — старший научный сотрудник Института истории компартии Болгарии.
Согласно рассекреченным данным, был сотрудником Комитета государственной безопасности Болгарии под псевдонимом Гоце.
В 1994 году избран депутатом народного собрания Болгарии, вошел в комиссию по радиовещанию и телевидению. В этом же году стал заместителем председателя высшего совета БСП.
С 1996 года — председатель БСП.
В 1997 году повторно избирался в парламент, возглавил фракцию «Демократических левых сил» и парламентскую фракцию «Коалиция за Болгарию».
В ноябре 2001 года избран президентом.
В 2006 году повторно избран президентом, победив на выборах националиста Волена Сидерова.