Three Russian and Iranian sources close to the negotiations said final details were in discussion for a barter deal that would see Moscow buy up to 500,000 barrels a day of Iranian oil in exchange for Russian equipment and goods.
"Good progress is being made at the moment with strong chances of success," said a Russian source. "We are discussing the details and the date of signing a deal depends on those details."
It is not clear whether the deal would be implemented before the details of November's nuclear agreement in Geneva between Iran and six world powers, including Russia, are finalised.
Technical talks beween Iran and the European Union on the nuclear deal started on Thursday. The November Geneva deal was designed to halt Iran's nuclear advances for six months to buy time for a final settlement by May.
U.S. and European sanctions have cut Iran's oil exports by more than half over the past 18 months to about one million barrels a day. Russia has no sanctions on Iran.
Russian purchases of 500,000 bpd of Iranian crude would lift Iran's oil exports by 50 percent and provide a major filip to its struggling economy. At current oil prices near $100 a barrel Iran would earn about an additional $1.5 billion a month.
No details were available about the equipment and goods on offer from Russia.
Given Russia is a major oil and gas exporter, the Iranian oil would likely be exported from Iran on Russia's account, with Russian goods and equipment bartered in exchange.
Most Iranian oil current goes to Asia.
Iran's biggest oil buyer is China, importing about 420,000 bpd in 2013, little changed on the year.
Other major Asian buyers of Iranian oil including Japan, South Korea and India have cut purchases sharply under pressure from Washington. Turkey and South Africa also have reduced or eliminated imports.