Le président de la République de Bulgarie est élu au suffrage direct pour un mandat de cinq ans, renouvelable une fois. Il est le chef de l'État et le commandant en chef des forces armées. Il est également à la tête du Conseil consultatif pour la sécurité nationale. Il peut s'opposer en premier ressort à la promulgation d'une loi. Pour contourner ce veto, le parlement vote à nouveau le texte. Il nomme le Premier ministre.
Le président de la République de Bulgarie est assisté dans ses fonctions par un vice-président de la République élu simultanément sur le même « ticket » que lui. Le président de la République actuel est Gueorgui Parvanov, qui a succédé, en 2002, à Petar Stoyanov et qui a été réélu le 29 octobre 2006.
Le Parlement de la République de Bulgarie est monocaméral, il ne comprend donc qu'une seule chambre, l'Assemblée nationale (Narodno Sabranie), constituée de 240 députés élus au suffrage universel direct pour une durée de quatre ans. Les électeurs votent pour un parti politique, ou pour une liste de coalition dans chacune des vingt-huit divisions administratives du pays. Un parti ou une coalition doit obtenir au minimum 4 % des suffrages pour obtenir des députés. Le Parlement vote les lois et le budget, prend les décisions relatives à : l'organisation des élections présidentielles ; la nomination et de la révocation du Premier ministre et des autres membres du gouvernement ; la déclaration de guerre, au déploiement de troupes armées hors de la Bulgarie ; la ratification des accords et des traités internationaux.
La Constitution institue également une Cour constitutionnelle chargée de contrôler la constitutionnalité des lois ainsi que celle des traités internationaux. Elle peut être saisie par le président de la République, le Premier ministre, l'Assemblée nationale et par la Cour suprême de cassation et par la cour suprême administrative (il n'y a pas de recours direct des citoyens devant la Cour constitutionnelle).
Lors des élections législatives du 25 juin 2005, le Parti socialiste bulgare de Serguei Stanichev est arrivé en tête des suffrages avec 30 %des voix devant le Mouvement national Siméon II du premier ministre Simeon Sakskoburggotski (l'ex-roi Siméon II), le parti de la minorité turque (le Mouvement des droits et libertés) et le parti nationaliste Ataka (Attaque).
Le 16 août 2005, après une première tentative avortée de formation de coalition, le nouveau gouvernement proposé par Serguei Stanichevest accepté par le Parlement par 169 voix pour et 67 contre. C'est un gouvernement de coalition avec les deux partis arrivés en deuxième et troisième positions aux élections législatives deux mois auparavant, dirigés respectivement par Simeon Sakskoburggotski et par Ahmed Dogan.
Le dimanche 20 mai 2007, les Bulgares ont élu les dix-huit députés européens pour la première fois au suffrage universel direct. La participation a été très faible (28,6 %), manifestant le désintérêt des Bulgares pour les affaires européennes. De plus, discrédité par de nombreuses affaires de corruption, le Parti socialiste bulgare est en net recul : le nouveau parti de centre-droit Citoyens pour le développement européen de la Bulgarie (GERB), dirigé par le maire de Sofia, Boïko Borisov, arrive ainsi en tête avec 21,69 % des voix, et obtient cinq sièges. Ont également obtenus cinq sièges : le Parti socialiste bulgare (21,41 %) et le Mouvement des droits et des libertésdes turcophones (20,26 %). Le parti nationaliste Ataka se voit attribuer deux sièges (14,22 % des voix) tandis que le dernier siège revient au Mouvement national pour la stabilité et le progrès (6,26 %), parti centriste héritier du Mouvement national Simeon II.
Le 5 juillet 2009, le GERB (centre-droit) gagne les élections législatives avec une majorité relative de 39,71 % des suffrages et Boïko Borisov devient Premier Ministre (Ministre Président) le 27 juillet.