Nizar Zakka, who has USA residency, flew to Beirut with Lebanon's security chief Abbas Ibrahim, the official told Reuters.
General Security confirmed Zakka's imminent return and said he was set to meet Lebanese President Michel Aoun at Baabda Palace.
Nizar Zakka, 52, is a permanent US resident who was accused of spying on Iran for the United States when he attended a conference in 2015.
Although Iran has recently portrayed Zakka's case as a matter between Iran and Lebanon, Iranian Foreign Minister Javad Zarif in 2016 said it was a problem mainly between Tehran and Washington.
In 2016, The Associated Press reported that Zakka's supporters wrote to then-Secretary of State John Kerry, stating Zakka travelled to Iran "with the knowledge and approval of the U.S. State Department, and his trip was funded by grants" from the department.
Zakka, an internet freedom advocate, is one of a series of prisoners with either dual nationality or links to the West held in Iran.
Lewis Hamilton handed Canadian GP win after Vettel’s penalty pain
Charles Leclerc came out on top with a time of one minute, 12.177 seconds, edging teammate Sebastian Vettel by 0.074 seconds. That forced him to revert to an older-spec engine for qualifying and Sunday's race.
Iran holds a number of dual nationals, including Iranian Americans, as well as Chinese-born US citizen and Princeton scholar, Xiyue Wang. The 52-year-old was being handed over to Lebanese officials.
Zakka flashed reporters the victory sign and hugged his brother Ziad before he went into the meeting with Aoun, who had personally requested his release.
Zakka vanished in Iran in 2015 after attending a conference there.
The statement claimed that Zakka, who graduated from the Riverside Military Academy of Gainesville in Georgia, had "deep links" with United States military and intelligence agencies. The development comes at a time of increased tension between the U.S. and Tehran, though NBC News notes that it's unclear whether this might lead to the release of Americans and other foreigners held by Iran.
State TV later quoted an anonymous source as saying Zakka would be released on Tuesday afternoon and will be allowed to leave Tehran. He was sentenced to 10 years in prison.
"This is in no way approved by the government", Molaverdi said.