Пётр Стоянов родился 25 мая 1952 года в Пловдиве. В 1976 году окончил юридический факультет университета им. св. Климента Охридского в Софии. Впоследствии работал адвокатом в Пловдиве.
C 1992 занимал пост заместителя министра юстиции первого с 1944 года некоммунистического правительства страны под руководством Филиппа Димитрова, являлся членом «Союза демократических сил Болгарии». В 1994 году избран депутатом в 34-е Народное собрание (Болгарский парламент), с того же года занимает должности заместителя председателя СДС Болгарии и зам. министра по вопросам туризма, молодёжи и спорта. В 1996 году с результатом 66 % выиграл первичные выборы от Союза демократических сил с целью баллотироваться на пост президента Болгарии.
2 ноября 1996 Стоянов был избран президентом Болгарской республики, набрав в ходе голосования 59,73 % (2 502 517) голосов избирателей. 19 января 1997 года вступил в должность президента, утвердив на должность вице-президента Тодора Кавалджиева. В 2001 году Стоянов снова выдвинул свою кандидатуру на пост президента, но во втором туре проиграл Георгию Пырванову.
В 2004 Стоянов был назначен послом специальных поручений ОБСЕ в ходе Приднестровского конфликта. В 2005 году был снова избран депутатом в национальный парламент от округов Смолян и Пловдив, до 2007 года возглавлял СДС.
Является активным пользователем Интернета, владеет английским и немецким языками. Женат на Антонине Стояновой, имеет двух детей. Пётр Стоянов — кавалер «Ордена Слона» Датского королевства.