Putin said he agreed with George Bush, the US president, that a withdrawal should not be carried out until Iraq was able to support itself but added that the US occupation should not last "eternally".
"To have an occupation regime there eternally is unacceptable," Putin said.
Speaking on national television and radio, the president called the US occupation of Iraq a "dead end" and suggested that the United States had invaded the country for its oil.
The president told one caller that any outside power dreaming of snatching Russia's own massive oil and gas wealth was indulging in "political erotica".
"Russia has the strength and the means to defend itself," he said.
In a direct phone link-up with servicemen at the Plesetsk nuclear missile base, Putin announced that Russia would build another new nuclear submarine next year and was also planning a "completely new" atomic weapon, about which he did not elaborate.
"We have grandiose plans and they are absolutely realistic," Putin said, speaking hours after the military announced the successful test firing of a Topol intercontinental ballistic missile.
Putin then attacked Washington's stand on Iran, saying that Russia's insistence on negotiations with the Islamic Republic over its Russian-backed nuclear power programme was better than "threats, sanctions or even force".
He called media reports of an assassination plot against him in Iran that surfaced on the eve of his visit Tuesday to Tehran an attempt to "wreck" his visit.
Later on Thursday, Putin is due to meet Ehud Olmert, the Israeli prime minister, in Moscow for talks expected to focus on Iran's Russian-backed nuclear programme.
The Russian president was in Tehran on Tuesday, the first visit to Iran by a Kremlin leader since the second world war.