Ukrainian Prime Minister Arseny Yatsenyuk has tendered his resignation to parliament after upbraiding politicians for failing to pass laws on energy and on the budget to increase financing for the army.

"I announce my resignation in connection with the dissolution of the parliamentary coalition and the blocking of government initiatives," a furious Mr Yatsenyuk told parliament.

Mr Yatsenyuk said the "government and the prime minister must resign" after the withdrawal of several parties triggered the break up of the European Choice parliamentary majority in a move that paved the way for long-awaited early legislative elections.

Parliament speaker Oleksandr Turchynov called on deputies to put forward immediately a candidate for a temporary premier "until parliamentary elections are held".

Early parliamentary elections in Ukraine have been expected since the February ouster of Kremlin-backed leader Viktor Yanukovych following months of deadly protests.

The formal dissolution of the majority coalition in Ukraine's Verkhovna Rada gives President Petro Poroshenko the right over the next 30 days to announce a fresh parliamentary poll.

Mr Poroshenko had pledged though that the possibility of upcoming elections would not paralyse the work of parliament at a time when Kiev is struggling to end a bloody separatist insurrection tearing apart the east of the country.

Earlier, Mr Poroshenko welcomed the departure of two parties from the coalition, opening the way for him to call a new election and give Ukrainians "a full reset" of power.

Two Ukrainian parties said they had left the majority coalition in parliament to allow a new election and clear what one politician called "Moscow agents" from the chamber.

"Society wants a full reset of state authorities," Mr Poroshenko said in a statement, adding the move showed that those who decided to quit the coalition were following the will of the people.

Oleh Tyahnybok, leader of the nationalist Svoboda party, told parliament: "We believe that in the current situation, such a parliament which protects state criminals, Moscow agents, which refuses to strip immunity from those people who are working for the Kremlin, should not exist."

The Udar (Punch) party of former boxing champion Vitaly Klitschko - which along with Svoboda, the Batkivshchyna party and other deputies formed the majority coalition – also announced it was leaving the coalition.

According to the Ukrainian constitution, the parliament has 30 days to try to forge a new coalition.

If that fails, the president then can dismiss parliament and call a new election.