On the death of Peroz I's father, Yazdegerd II, the younger son of the deceased emperor, Hormizd, seized the throne in the absence of his elder brother Peroz who had been posted as the governor of distant Sistan; Peroz was thus forced to seek the protection of the Hephthalites. The Hephthalite monarch, Khushnavaz, was glad to welcome him and aid him in his war against Hormizd. Peroz was also supported by Raham of the Mihran family. During this dynastic struggle, Denag, the mother of the two Sasanian princes, governed all of the Sasanian capital of Ctesiphon, or some parts of it.
With Hephthalite and Mihranid assistance, Peroz led an army against Hormizd, defeated him and held him captive. He then ceded Taliqan to Khushnavaz. Sources differ as to what happened to Hormizd after his capture. Some say that he was put to death. However, the Persian historian Mir-Khvand says that Peroz pardoned his younger brother and amicably spared his life.
The civil war in Iran had affected the nation so much as to cost a province. Vache II, the king of Caucasian Albania, rebelled against Sasanian rule and declared himself independent while the brothers were busy fighting amongst each other. So once Peroz I ascended the throne in the year 459, he led an army into Albania and completely subjugated the nation. He then allowed the Armenians of Persian Armenia to practice their religion, Christianity, freely. He also made an agreement with the Byzantine Empire that they would together defend the Caucasus from incursions. Furthermore, Peroz ordered his foster brother Izad Gushnasp to take the Armenians who had been held captive during the reign of his father to Herat.
Historians of the period record the occurrence of a seven-year famine which devastated the crops and ruined the country. Sources say that the wells became dry and that there was not a trickle of water either in the Tigris or the Euphrates. Eventually the crops failed and thousands perished.
Historians record that Peroz I showed an extreme rigidness of character in the face of such an adversity and great wisdom in dealing with the catastrophe. As a result of his wisdom and benevolence, Persia gradually recovered from the famine.
The Kidarites, who had established themselves in parts of Transoxiana during the reign of the Sasanian king Shapur II, and had a long history of conflicts with the Sasanians, stopped paying tributes to them in the early 460s, thus starting a new war between these two states. During the start of the war, however, Peroz did not have enough manpower to fight them, and therefore asked for financial aid by the Byzantine Empire, who declined his request. Peroz then offered peace to the leader of the Kidarites, Kunkhas, and offered him his sister in marriage. However, Peroz tried to trick Kunkhas, and sent a woman of low status instead.
After some time Kunkhas found about Peroz's false promise, and then in turn tried to trick him, by requesting him to send military experts to strengthen his army. However, when a group of 300 military experts arrived to the court of Kunkhas at Balaam (either the same city as Balkh or a city in Sogdia), they were either killed or disfigured and sent back to Iran, with the information that Kunkhas did this due to Peroz's false promise. What happened after remains obscure, it is only known that by 467, Peroz, with Hephthalite aid, managed to capture Balaam and put an end to Kidarite rule in Transoxiana once and for all. Although the Kidarites still controlled some places such as Gandhara, they would never bother the Sasanians again.
However, after some time, the Hephthalites betrayed Peroz and seized Balkh from him, startiny the first war between the Sasanians and the Hephthalites. During this war, Peroz suffered a heavy defeat in the third battle between the two forces in 469, and was captured by Hephthalites. He was released after paying ransom; the Byzantines aided him in by lending him some money.
Before Persia had completely recovered from the famine, a new war broke out with the Hephthalites of the north. Provoked by an insult heaped upon him by Khushnavaz, Peroz, along with his vassal Vakhtang I, led an invasion of the Hephthalite country forcing them to retreat. But when Peroz pursued the Hephthalites to the hills, he suffered a crushing defeat. The king was captured and forced to surrender his daughter, his son Kavadh I, and the chief priest (mowbed) of the empire to Khushnavaz as a hostages, until the ransom was paid.
In 481, Iberia broke into revolt and declared its independence. Peroz sent the Sasanian Governor of Armenia to Iberia to quell the rebellion. But no sooner had he left the province, that Armenia rose in rebellion and chose an Armenian Christian called Bargatide as its Emperor.
The Persian Governor, Adhur Gushnasp after restoring Persian rule in Iberia rushed to Armenia to quell the rebellion but was squarely defeated. Peroz responded by sending two large armies to the region, one under Adar-Narseh into Armenia and the other against Iberia.
Sahag, the Armenian king, was killed and Shapur Mihran was wreaking havoc in Armenia, but just when success was within grasp, Peroz blundered by recalling Shapur Mihran and entrusting the command to one Zarmihr Hazarwuxt. Zarmihr Hazarwuxt too did not remain long in Armenia and was recalled in a few months. This policy of rotating military commanders frequently ensured that Armenia was lost to the Persians for the time being.
Towards the end of his reign, Peroz gathered an army of 50,000-100,000 men; after placing his brother Balash at the head of the government in Ctesiphon, he invaded the Hephthalites in order to avenge the insult heaped upon him during the first campaign. He set up his position at Balkh and rejected the terms of peace offered by Khushnavaz. However, when a showdown with the Persians seemed imminent, Khushnavaz sent a small body of troops in advance in order to trick Peroz into an ambuscade at the Battle of Herat of 484. The plan was successful, and the Persians were defeated with great slaughter, Peroz being one of the victims. Khushnavaz, however, treated the body of his erstwhile friend with dignity and dispatched it to Persia to be buried with full honors.
Soon afterwards, the Hephthalites invaded and plundered Persia. The empire, however, was saved when a Sasanian noble from the Karen family, Sukhra, defeated the Hepthalites and elected Balash (484–488), one of Peroz I's brothers, to the throne.
Peroz is included in a legendary romantic story narrated by 13th-century Iranian historian Ibn Isfandiyar. The story begins with Peroz dreaming about a beautiful woman who he falls in love with. Peroz then sends one of his relatives and a close friend, a certain Mihrfiruz from the Mihran family to find her. He manages to find the woman, who in the end is turned out to be the sister of Izad Gushnasp himself (whose father was named Ashtat). After having found her, Peroz marries her and at her request, lay foundation to the city of Amol in Tabaristan.