The brief statement on Wednesday said "mutual understanding was reached regarding the steps that will contribute to the establishment of peace" but gave no details.
"The result of the conversation was agreement on a permanent cease-fire in the Donbass," the collective term for the eastern Ukraine regions.
There was no immediate reaction from the Russia-backed separatists whom Ukrainian forces have been fighting since April. The rebels ignored a 10-day unilateral cease-fire that Poroshenko had called in June.
Russian markets jumped on the news. The MICEX benchmark was 3 percent higher while the ruble rose 1.2 percent against the U.S. dollar.
Putin's spokesman said earlier that the Russian president and Poroshenko had found in a recent discussion that they "largely share views" on ways out of the crisis.
Ukraine and the West have accused Russia of sending its troops and weapons to support pro-Russian insurgents who have been fighting government troops in eastern Ukraine since mid-April. Moscow has vehemently denied this charge.
That denial leaves unclear how effective the truce announced Wednesday would prove to be. After a meeting with Poroshenko last week, Putin had said no cease-fire was discussed because Russia was not a party to the conflict.
Over the weekend, the European Union leaders agreed to prepare a new round of sanctions that could be enacted in a week, after NATO accused Russia of sending tanks and troops into southeastern Ukraine. A NATO summit in Wales on Thursday is also expected to approve measures designed to counter Russia's aggressive actions in Ukraine.
U.S. President Barack Obama arrived in Estonia Wednesday morning in a show of solidarity with NATO allies who fear they could be the next target of Russia's aggression.
Fighting in eastern Ukraine has killed nearly 2,600 people and forced over 340,000 to flee their homes, according to the U.N.