Syrian rebels have freed 48 Iranians in exchange for 2,130 prisoners held by forces loyal to Syrian President Bashar al-Assad.
The Iranians were taken on January 9 to a hotel in the Syrian capital, where they met with Iran's ambassador in Damascus.
"Today we congratulate the Iranian people for the return of their sons to their homeland safe and sound," Ambassador Muhammad Reda Shibani told journalists.
A Turkish charity, the Humanitarian Relief Foundation (IHH), helped coordinate the swap.
The release came after diplomatic efforts that reportedly involved Qatar, Turkey, and the IHH.
Turkey's state-run Anadolu Agency reported that the prisoners released from the Interior Ministry building in Damascus included women, children, and four Turkish citizens.
The Iranians were seized by the Free Syrian Army's Al-Bara Brigade, who later released a video of the hostages and claimed they were members of Iran's elite Islamic Revolutionary Guards Corps (IRGC) assisting the Syrian military.
However, Iran insisted that those held were Shi'ite pilgrims who were visiting the Sayyida Zainab shrine, south of Damascus, when they were abducted.
Iranian Foreign Minister Ali Akbar Salehi admitted that some of them had been in the IRGC, adding that they were retired.
Tehran is one of the main backers of the Syrian regime, and rebels say the IRGC is actively helping to suppress the Syrian uprising that began in March 2011.
Also on January 9, UN envoy Lakhdar Brahimi called Assad's recent speech a "lost opportunity" to resolve the crisis in Syria.
Brahimi told the BBC that Assad's address called for a repeat of previous initiatives that had failed, and had been sectarian and one-sided.
In his speech on January 6, Syria's president called on Syrians to fight the "murderous criminals" he said were responsible for the violence.
The United Nations says at least 60,000 people have died in the 22-month uprising.
With reporting by AP, AFP, and Reuters