Константин Бодин был сыном жупана Сербии Михайло I, внуком Стефана Воислава и его жены, внучки болгарского царя Самуила.
В 1072 году болгары в Скопье подняли восстание против византийского правления. Предводителем восстания был Георгий Войтех, выходец из болгарской знати. Восставшие обратились с просьбой к Михайло I отправить к ним одного из своих сыновей, наследников болгарской царской династии, чтобы сесть на болгарский престол.
Осенью 1071 года Константин Бодин, седьмой сын Михайло, прибыл в Призрен с небольшим войском и встретился с Войтехом и другими предводителями восстания. Они сопроводили его в Скопье и провозгласили болгарским царём под именем Петра III. Это должно было напоминать царей Петра I, умершего в 970 году, и Петра II Деляна, бывшего предводителем предыдущего большого восстания против Византии в 1040–1041 годах.
Войска новопровозглашённого царя взяли Ниш и Охрид, но потерпели поражение у Кастории. Византийские войска перешли в контрнаступление и взяли Скопье при помощи Георгия Войтеха, который предал Петра III. Затем Пётр III был взят в плен в битве и отправлен в Константинополь вместе с Войтехом. Последний умер по дороге, в то время как Пётр III был заключён в тюрьму, сначала в Константинополе, затем в Антиохии.
Около 1078 года спасён из плена венецианскими купцами и возвращен к отцу. Вскоре после этого, в 1081 году, Михаил Воиславлевич умер, и Константин Бодин наследовал ему.
Был женат на Яквинте из Бари, имел от неё детей, включая