Mr Poroshenko, known as the "chocolate king", won more than 55% of the vote in the first round, exit polls suggest.
His closest challenger, former Ukrainian prime minister and leader of the Batkivshchyna party Yulia Tymoshenko, conceded the election after exit polls showed her with 13% of the vote.
Announcing he had won, the 48-year-old businessman promised to forge closer links with the EU and restore peace in restive eastern regions.
Pro-Russian separatists severely disrupted voting there.
Some 20 people have died in fighting in recent days.
No polling stations were open in Donetsk city, and across the region only seven out of 12 district electoral commissions were operating.
The Russian separatists are in control of large areas of the Donestk and Luhansk regions.
Four hours before polls closed, at 16:00 (13:00 GMT), unofficial estimates put the turnout nationwide at 45%.
Addressing supporters in Kiev, Mr Poroshenko said he would support a parliamentary election later this year.
He also said he would never recognise Russia's "occupation of Crimea", annexed by Moscow in March.
Asked about relations with Russia, he said the "sovereignty and territorial integrity" of Ukraine mattered most to him.
Source: BBC News Europe