Iran freed Belgian aid worker Olivier Vandecasteele after almost 15 months in custody on Friday, in a prisoner exchange for an Iranian diplomat convicted of terrorism.
Belgium's Prime Minister Alexander de Croo said the 42-year-old had arrived in Oman and added: "If all goes to plan, he'll be with us this evening. Free at last!"
Separately, Oman's foreign ministry announced it had helped broker an "exchange deal" and that an Iranian previously held in Belgium was on his way to Tehran.
Iran announced that the freed Iranian is diplomat Assadollah Assadi, who was jailed in Belgium over a 2018 plot to bomb an Iranian opposition rally outside Paris.
Iran's Foreign Minister, Hossein Amir-Abdollahian, tweeted that Assadi, "the innocent diplomat of our country... is now on his way back to his homeland and will soon enter our beloved Iran."
He thanked Oman for its role in securing the release.
Belgium has always insisted that Vandecasteele was innocent and his trial rigged. He was sentenced in January to 40 years in prison and 74 lashes for "espionage", Tehran's judiciary said at the time.
"Olivier spent 455 days in prison in Tehran in unbearable conditions. Innocent," de Croo said.
"For me, the choice has always been clear. Olivier's life has always come first. It's a responsibility that I take upon myself, that I accept. In Belgium, we do not abandon anyone."
Last year, Belgium and Iran signed a treaty to enable prisoner swap.
Critics of the pact alleged that it would only encourage Tehran to take Belgians hostage for use as bargaining chips to seek the return of agents like Assadi arrested for terror offences in the West.
An exiled Iranian opposition group, the National Council of Resistance in Iran (NCRI), which was the target of the 2018 bomb plot, challenged the treaty in Belgium's constitutional court.
But de Croo's government insisted that the deal was the only way to win Vandecasteele's freedom, and in March the court upheld the treaty, paving the way for Friday's deal.
The NCRI reacted furiously to Belgium's decision, and claimed it violated the court's order that the intended victims of the bomb plot should be consulted before any prisoner exchange took place under the treaty.
"The release of the terrorist... is a shameful ransom to terrorism and hostage-taking," the group said.
Earlier this month Iran released a Frenchman, Benjamin Briere, and a French-Irish citizen Bernard Phelan, but continues to hold two dozen foreigners who Western capitals and families regard as hostages.
Assadi was an Iranian diplomat based in Vienna, who was arrested after passing explosives to a Belgian-based Iranian couple who were supposed to travel to France to bomb an NCRI rally.
He was arrested in Germany as he tried to return to Austria, and extradited to Belgium where he did not enjoy diplomatic immunity. He was convicted of attempted "terrorist" murder and membership of a "terrorist group".
Tehran angrily protested, but his sentence was upheld in May 2021 when Assadi opted not to appeal.