Armenia once more the flashpoint
The Roman emperor Galerius had humiliated Parthia at the treaty of Nisibis in AD 297. Since then there had been massive changes in the Roman empire. Constantine (AD 306 - 337) had reunited the empire which had been in danger of splitting into eastern and western halves, moved his capital from Rome to Byzantium (and renamed it Constantinople), established that Romans could worship any god they liked, and - shortly before he died - become a Christian.
The king of Armenia - the Arsacid Tirdad, who owed his throne to Rome - had already anticipated Constantine in declaring his country Christian in AD 301, spreading alarm among non-Christian Armenians. The Magi forced Shapur II to act on behalf of their fellow Zoroastrians in Armenia: he deposed Tirdad, and put Arshak in his place. There followed an anti-Christian campaign in Persia and Armenia, orchestrated by the Magi. Christian writers describe numerous horrific maryrdoms.
Constantine, champion of all Christians whether they liked it or not, immediately began planning his response: he collected a vast army, and began a propaganda campaign to intimidate the enemy. He had coins ready minted, and a replacement lined up for the king of Persia - his nephew. But then he fell ill and died.
Shapur saw Christianity as a Roman weapon to de-stabilise Armenia, and from there threaten Persia. When Georgia too went Christian in AD 337, serious conflict seemed inevitable. The new emperor of the east, Constantius (AD 337 - 361) was also a Christian, but Shapur had a breathing-space. He decided on a preemptive strike.

Shapur attacks - but can't finish the job
Shapur too, had been making long and careful preparation. Now he was ready. He'd trained a new panzer force of heavily armoured Savaran knights, equipped with lances, and other weapons for fighting at close-quarters. The tactics would involve the heavy cavalry crunching through the Roman lines, supported by the horse-archers, and - an innovation supplied from the Kushans - elephants.

Panzernashorn, the Indian rhinoceros. Like the panzernashorn, the Savarans
had a problem seeing where they were going, and were hampered by their weight.
In AD 338 Shapur crossed the Tigris (the frontier since the ignominious treaty in AD 297) and began a siege of Nisibis and neighbouring Singara. But after only two months, when all was going well, he had to give up. His army was urgently needed on the eastern frontier. The Romans would have to wait - for nearly 20 years in fact - while Shapur dealt with the invasion of Hun Chionites from central Asia. He did a thorough job - he formed an alliance with their king Grumbates, and recruited Chionites into his army to fight the Romans. During his time in the east, Shapur also seems to have dealt with the Kushan kingdom - incorporating it in Eranshahr and making his son Kushanshah (King of Kushan). This could be an important buffer against the Turkic and Hun peoples further east, who were just beginning to make their presence felt.
In AD 359, Shapur II resumed where he'd left off. Again Nisibis and Singara were put under siege. Shapur, with Grumbates and his Chionite allies (among others from the Caucasus and Seistan), pushed on into Roman-held territory to attack Amida (Diyarbakr) - a city of vital strategic importance, controlling access to Anatolia to the west and Armenia to the north. A siege - with sophisticated siege and counter-siege weapons deployed on both sides - ended with the surrender of Amida. The city was sacked and its population of 20,000 was deported to Khuzistan. Grumbates' son had been killed during an attack - this perhaps was Shapur's way of showing how upset he was. The "last Roman historian" Ammianus Marcellinus was on the Roman staff, and one of the besieged. He describes the death of Grumbates' son:
At first light the king of the Chionites was dutifully carrying out his task, moving towards the walls with a keen group of soldiers, when an alert observer noticed that he was coming within artillery range. The ballista was fired and the missile hit Grumbates' young teenage son, who was holding on to his father, in the neck and chest. He was a boy who outclassed his contemporaries in intelligence and physical beauty.Ammianus Marcellinus 19.1.7"
The inevitable Roman counter-attack
The emperor Julian (AD 361 -363) succeeded Constantius. He was very different - not only was he not a Christian, but he sincerely wanted to return to traditional pagan values. He studied Greek philosophy, and wrote many books. He saw restoration of Roman authority in the east as his priority on becoming emperor - and prepared a large invasion force (about 65,000 men, including Arabs eager for revenge). He had two advantages: the Sasanian-nominated king of Armenia, Arshak, was helping him (perhaps through a mutual hatred of Christianity?); and he had a Sasanian king ready to replace Shapur II. This was Hurmazd - possibly Shapur's long-lost brother, who had fled to Constantinople in AD 323, where he'd been given a palace and royal treatment.
We must destroy this most troublesome people [natio molestissima], on whose swords the blood of our kin has not yet dried.Ammianus Histories 23.5.19
Julian split his force in two: he led one half into Mesopotamia, while his general Procopius led the rest through Armenia, securing the northern flank. All went well to begin with: Julian re-took Amida, and then Babylon and Seleuceia, and laid siege to Ctesiphon. But Shapur II had so far refused to meet the Romans in a pitched battle. Ctesiphon refused to fall - and Julian then made his fatal error. Julian decided to ignore Ctesiphon, and strike at the Sasanian heartlands across the Tigris. Having crossed the river, he burned his boats. The Sasanians now confronted him. Technically he won the battle, but did not have a large enough force to destroy the Savaran cavalry. His men were hungry, exhausted and demoralised - trapped in Persia. Then Julian himself was killed (under somewhat mysterious circumstances - was it an accident or murder?)- a punishment from God, as Christians believed.
When Jovian (AD 363 - 364) became emperor and commander, he had a stark choice: fight on to the death, or fight his way back. Instead he made peace - a humiliating peace on Persian terms - a true revenge for Nisibis in AD 297. The Romans had to give up their string of frontier posts along the Tigris - including the legionary fortress at Nisibis, which Shapur had tried so hard to capture earlier. Its huge mainly Christian Roman population was to be resettled elsewhere in the Roman empire. Armenia and Georgia came under Sasanian control; Arshak was deposed, and pro-Persian rulers installed. The Romans agreed to help pay for defences in the Caucasus against the Huns (though the fact that they never seem to have done so casts doubt on whether this could have been part of the treaty).
Despite Shapur II's military skill and experience, his regime could have been destroyed if Julian had had a better grasp of strategy, or not divided his force. And maybe Christianity could have been rolled back throughout the Roman empire. Ironically, Shapur's success made Rome safe for Christianity: Julian was the last emperor who was not a Christian. Jovian immediately undid all Julian's anti-Christian laws, and made paganism illegal. Roman emperors proclaimed themselves protectors of all Christians everywhere: Shapur took this to mean that Christians could not be loyal Persian subjects - and a persecution ensued. The Christian centre of Susa was destroyed by elephants from the Sasanian army.