Russian President Vladimir Putin sat across from his defense minister in the Kremlin last April, slouched in his seat and gripping the table. They were discussing Russia’s siege of the Azovstal Iron and Steel Works plant in the strategic city of Mariupol, in southeastern Ukraine. To Ukrainians, Azovstal had become a bleak but potent symbol of resistance, sheltering about 2,600 soldiers and civilians while the fortress-like facility was pummeled by Russian bombardment for weeks. To Moscow, the vast site was a frustration, the last stubborn holdout in a city that its forces had otherwise taken control over weeks earlier. “Block off the industrial site, so that not even a fly can escape,” Putin spat, his command broadcast on state-run television. But as the Russian president ordered a tightening of the noose around the hulking factory complex, a small group was about to begin secret negotiations to end the siege. They involved two of Putin’s most senior generals and a Ukrainian lawmaker who once served as a Soviet paratrooper. CNN can now exclusively reveal the inner details of how the deal was struck, and who was involved in the sensitive talks. Oleksandr Kovalov, a member of Ukrainian parliament from the Donetsk region and a veteran of the Soviet-Afghan war, told CNN he brokered the early stages of the negotiations. Two high-ranking generals from Russia’s military intelligence agency, widely known as the GRU, represented the other side: Lt. Gen. Vladimir Alexseyev, second in command of the GRU, and Maj. Gen. Alexander Zorin, both born in Ukraine. Alexseyev has been linked to a string of brazen international incidents in recent years. He was among four GRU officers sanctioned by the US Treasury Department in 2016 for wide-ranging malicious cyber activity directed at undermining America’s democratic processes, including election interference. The United Kingdom and European Union sanctioned him in 2019 for the poisoning of former Russian intelligence officer Sergei Skripal in England with a deadly nerve agent. Zorin, meanwhile, served as Putin’s envoy to Syria, playing an active role in talks between President Bashar al-Assad’s regime and the country’s opposition and rebel factions. Their involvement shines a spotlight on the importance that Putin placed on resolving the Azovstal impasse and seizing Mariupol, securing his long-sought land bridge between Crimea and Russia – one of the biggest prizes of the Russian invasion. It also illustrates a much-reported but hard-to-prove narrative right at the top of Moscow’s command of the Ukraine war – that the Russian president took control over the brutal conflict from the country’s main domestic intelligence agency, the Federal Security Service, or FSB, and placed it in the hands of the military spies, the GRU. “Since last summer military intelligence generals assumed a more prominent role as it dawned on Putin it was not a ‘special operation’ anymore but a conventional war,” Andrei Soldatov, a Russian investigative journalist and intelligence expert now in exile in London, told CNN. “Unfortunately, it means Putin’s readying the country for a long conventional war.” For years, Ukraine had been part of the FSB portfolio; handing control of the war to the GRU marked a seismic shift in how Putin viewed the service. In an essay from the Center for European Policy Analysis, Soldatov and his colleague Irina Borogan wrote that Putin was not impressed that the FSB’s highly secretive plans for the invasion were obtained by Western intelligence. The Russian president was apparently also unhappy about “the complete absence of popular uprisings by Russian-speakers” that had been promised to him. Underground refuge After invading Ukraine on February 24, Russian forces swept to the city of Mariupol in days but then spent months trying to fully capture it. Azovstal quickly became the epicenter of the fight. A monstrous warren of tunnels, pipes and chimney stacks perched on the Azov Sea, the plant sprawls over four square miles and once employed more than 10,000 people. It now lies in ruins. Russian forces shelled the facility day and night for weeks. The Ukrainians’ last stand became increasingly desperate as food and water supplies dwindled, and hundreds of casualties were left without adequate medical care. Huddled together underground in grim conditions, many soldiers and civilians began to doubt that they’d ever escape the plant alive. It was at that point that Kovalov came in. Kovalov’s office in Kyiv is in a non-descript administrative building, minutes from the Ukrainian Rada, or parliament. A large flag of his philanthropic organization for veterans hangs on the wall, its slogan taken from the Soviet Airborne Forces: “Nobody but us.” Against the wall, a stuffed wolf named “Droog” (“friend” in Ukrainian) stands with a frozen snarl. The lawmaker represents a constituency of Donetsk region, in the country’s east, where he campaigned to repeal a state law enshrining Ukrainian as the official language – an important issue for many Russian-speaking people in the area. Kovalov’s allegiances have come under scrutiny in the past. In 2014, he was accused of helping with the flight of members of a now defunct special police force division, known as the Berkut, after they carried out a violent crackdown on pro-democracy protesters in Euromaidan. He has denied supporting Berkut and told CNN that he assisted in their escape in order to prevent further bloodshed in Kyiv. That goal has been central to his work since the war began. As Russia’s assault on Mariupol and Azovstal dragged on, Kovalov said he remembered thinking that someone had to try to stop the madness. “Not all people want war. Many understand that this is bad and everyone at their level is trying to find a loophole for a small reconciliation.” Kovalov said he leveraged an FSB contact in Moscow – Valentin Kryzhanovsky – in the hopes of breaking the brutal siege. Kryzhanovsky, a former Ukrainian Intelligence Services (SBU) agent who defected to Russia in 2014 and joined the FSB, is widely viewed as a traitor in Ukraine. The two men talked about the civilians stranded in Azovstal. “There are women, children, let’s think of something,” Kovalov recalled saying. According to the parliamentarian, many others had tried without much luck to negotiate access to the Azovstal steelworks. “There were 11 unsuccessful missions before me, and no one believed it was possible to get there at all,” he said. CNN could not independently confirm his claim. He said that he made his plans clear to the office of Maj. Gen. Kyrylo Budanov, head of Ukraine’s military intelligence agency. Even though Budanov was doubtful of his chances, Kovalov said he gave him his blessing. Negotiations ramp up in Mariupol On April 25, Kovalov made his first trip into Russian-occupied southern Ukraine since the war began, armed with secret passwords and encrypted communication devices from Budanov, he said, to ease passage through checkpoints into Russian-held Ukrainian territory and liaise with the Azov commanders. He was shocked by the devastation that he witnessed on this brief, escorted tour around the city – his first of three – and documented the scene in videos and photos, which were shared with CNN. CNN examined their metadata, or file information, which lined up with the time and date of Kovalov’s journeys. One clip filmed from a car, which shows blackened high-rise buildings and shattered storefronts, was geolocated to Metalurhiv Avenue in Mariupol using available street imagery. “We were bombed, we were shelled. We were in a completely destroyed city. A city that is practically wiped off the face of the earth. We were exactly at the heart of the war,” he said. In order to even reach the plant, a ceasefire had to be implemented. On April 27, Kovalov was pictured in a photograph that resembled a scene from a spy movie. The image captured Kovalov with Kryzhanovsky and Lt. Gen Andrey Sychevoy, of the 8th Guards Combined Arms Army of Russia’s Southern Military District, sitting in the middle of the road around a small table. Kovalov said he sat all day with the general, nicknamed “Don.” Sychevoy was responsible for leading the assault on Mariupol, and is rumored to have replaced Col. Gen. Alexander Zhuravlyov after the initial faltering stages of the war; he was also sanctioned by the EU for his military actions in Ukraine. While the photo of the meeting made it seem like everything was calm, Kovalov said: “In fact everything was exploding. We did everything for Azovstal to make it quiet.” The civilians were a priority, their desperate pleas and worsening health having gripped the world’s attention. Kovalov played up his role in their eventual release, telling CNN he helped convince “the other side that saving, first of all, children, women and the wounded, will be an act of sanity, an act of humanism.” In early May, the United Nations and the International Committee of the Red Cross evacuated hundreds of civilians from Azovstal and other areas of the port city in a series of operations, which UN Secretary-General Antonio Guterres described as “complex.” On May 7, Ukraine’s Deputy Prime Minister Iryna Vershchuk said that “all women, children and elderly people” had safely been taken out of the steel plant. But the soldiers remained and Russian strikes on the plant started up again. Kovalov returned to Mariupol and the negotiating table on May 9, celebrated as “Victory Day” in Russia. This time the negotiations from both sides were kicked up a gear, he said. By this point, Budanov had insisted on his representatives being at the meetings and dispatched top deputy Dmitrii Usov. The Russians decided they needed to up their game too. Kovalov said he wasn’t surprised to see Russian generals Alexseyev and Zorin at the negotiating table. “This process was counted as a special operation,” outside of the war, Kovalov said. These talks needed a special touch. Christo Grozev, from the online investigative group Bellingcat, who has tracked the activities of Russian security services and their operations abroad for years, said Alexseyev’s presence makes sense. “Alexseyev is the Ukraine war man for the GRU. He’s fully entrusted with everything regarding the war,” he told CNN. CNN shared two photos of the meetings with Grozev, and he confirmed that the images appear to be Alexseyev and Zorin. According to Kovalov, Alexseyev would take regular breaks from the May 9 negotiations to call Moscow. He had a “direct satellite connection” with the Russian defense ministry, Kovalov understood. “Alexseyev is very high on the food chain,” Grozev said. “I think he can report directly to (Nikolai) Patrushev,” the head of Russia’s Security Council. Patrushev, in turn, reports directly to Putin. CNN reached out to Russia’s Defense Ministry for comment on the negotiations. ‘A moment of trust’ As negotiations progressed further, a third visit to Mariupol was arranged and one of the more remarkable scenes of the war unfolded – a meeting between Russian generals who were directing the bloody war and the Ukrainian officers who Moscow have depicted as “neo-Nazis.” On the morning of May 16, Kovalov recorded a video approaching one of the entrances to Azovstal. Zorin and Alexseyev are visible on the walk up to the battered plant. Warped metal pipes and debris litter the ground on an otherwise perfect sunny day. In the videos and images, the Russian delegation is met by a group of at least six Ukrainian soldiers, including Lt. Col. Denys Prokopenko, head of the Azov Battalion, whom Moscow has regularly accused of being part of Ukraine’s far right, or “Nazi” movement. “These are the moments that we were worried about,” Kovalov said. “A moment of trust. When we did everything so that the two sides came together, looked into each other’s eyes, the Russian side promised that there would be a civilized exit for our soldiers.” Kovalov said that when the negotiations started in earnest, the terms were simple: the Ukrainian fighters would stop fighting, give up the plant and be taken into Russian custody. “Here were conditions for a mutual ceasefire, a civilized surrender of Azovstal, civilized conditions for our prisoners of war, and an exchange,” he said. The agreement was implemented without a hitch, Kovalov said. Later that day, those most severely injured were removed from the plant on stretchers. That evening, Ukraine’s deputy defense minister announced that the evacuation of Ukrainian soldiers from Azovstal had begun. Hanna Maliar said 53 injured soldiers had been taken to a Russian hospital, and 200 had been moved to a detention center in Olenivka, in the self-declared Donetsk People’s Republic (DPR). Out of Azovstal but into Russian hands The following day, May 17, at around noon, a seemingly endless stream of soldiers began their procession into captivity – gaunt and pale, many on crutches or stretchers, others limping and some seriously maimed. Kovalov said it was deeply unpleasant to see the Ukrainian troops in that condition, but it also underscored the necessity of the deal. “They demanded help, and we did everything to get this help to them. Seeing how they left Azovstal, I realized that our efforts were not in vain.” Videos showed the soldiers, both men and women, dropping their rifles in the back of pick-up trucks and immediately becoming prisoners. Then, they were shipped off to the agreed location of Olenivka. Other locations were initially floated, according to Kovalov, such as the Russian-held Zaporizhzhia nuclear power plant near Enerhodar, but there wasn’t enough room there. Kovalov was able to gain access to the soldiers on May 18 in the DPR. There he shot video of their living conditions, and the doctors who were on hand for their treatment. This was the last time he saw them. Two months later, on July 29, a mysterious explosion at the Olenivka detention center left more than 50 prisoners of war dead, including fighters who had surrendered at Azovstal. Russia and Ukraine traded blame for the deadly attack, with Moscow accusing Kyiv of using a US-supplied rocket launcher known as HIMARS (High Mobility Artillery Rocket System) to kill its own troops, in a strike intended to stop the soldiers from sharing information. Ukraine vehemently denied the claims, with Ukrainian President Volodymyr Zelensky calling it a “deliberate war crime by the Russians.” A CNN investigation found that the Russian version of events was very likely a fabrication, and that there was almost no chance that a HIMARS rocket caused the damage to the warehouse where the prisoners were being held. Today, about 2,000 Azovstal fighters remain imprisoned at locations in the DPR, but most are in Russia, according to Kovalov. He says he is still working to get them home, perhaps through one of the prisoner swaps that happen regularly. “They demand help, they ask for it through their relatives. We are planning and doing everything to get to them,” he said. While Kovalov said he quickly handed off much of the negotiating on Azovstal to Ukrainian intelligence officials, he has been recognized for his work by the government. In a letter to the head of the Ukrainian parliament, shared with CNN by Kovalov, military intelligence chief Budanov wrote: “Kovalov provided important and invaluable support to the Main Intelligence Directorate of the Ministry of Defense of Ukraine.” The lawmaker risked “endangering his own life and health, was the only one who accompanied the defenders of Mariupol and Azovstal to their places of detention … which in itself is a great deed,” Budanov said. Budanov’s office declined to comment on the record about Kovalov’s involvement, but Ukraine’s Main Intelligence Directorate, GUR, did confirm that Dmitrii Usov took part in the talks. Back in his office on the eve of the anniversary of Russia’s invasion of Ukraine, Kovalov played down his involvement. “This is a general success, not just mine. The most important thing in these negotiations is saving the lives of our fighters, our heroes, like our president said: use every opportunity to save our people.” That success is nuanced. Mariupol is under Russian control and most of the Azovstal fighters remain prisoners of war, though Kovalov said further talks are planned to try to secure their release. Still, Kovalov hopes the story of Azovstal, which is indelible in the Ukrainian national psyche for its horror and scale, shows that opportunities for negotiations between the warring parties – though narrow – are possible. “Communication bridges work, not everything is lost in this life, you can still be a human. Even at war,” he added. Clarification: A previous version of this story misstated where Azovstal fighters are imprisoned by Russian forces.