President Nicolas Maduro told thousands of his supporters at a rally that he is ready to seek another six-year term.
“It’s the right decision. Imperialism and the right were plotting to take over the economy,” said Mr Maduro.
The opposition is weakened and divided and many of the president’s main potential challengers are in self-imposed exile or in jail.
But former presidential candidate Henrique Capriles said the government was so unpopular that it could lose the vote.
“The government and its leaders annoy the majority of Venezuelans,” he tweeted, urging the opposition to “unite to save democracy”.
Mr Capriles cannot stand in the presidential vote as he was banned from public office for 15 years in April for mismanaging public funds as governor of Miranda state.
He denies any wrongdoing and says the charges were politically motivated.
Mr Maduro said the presidential poll would go ahead “with or without the opposition”.
The former speaker of the opposition-controlled National Assembly, Henry Ramos Allup, said the decision to call an early vote was in retaliation against recent European Union sanctions against senior government officials.
He accused the government of usurping the people’s legitimate power with the creation of the Constituent Assembly which effectively bypassed the National Assembly.
The election for the Constituent Assembly was boycotted by the opposition.
Venezuela has for several years struggled with shortages of basic items, including food staples and medication.
Mr Maduro says foreign nations, and especially the United States and Spain, are leading a campaign to bring down the country’s socialist government.
The opposition blames corruption and the policies of the Socialist Party, which has been in power since 1999, for rampant violence and the collapse of the economy.
Mr Maduro was elected in April 2013 to succeed his mentor, the late Hugo Chavez, who died of cancer.
He has urged Venezuela’s National Electoral Council to “fix the earliest possible date” to hold the poll.
“Let’s get over with this, win the president poll and put an end to the imperialist threat,” he told his supporters in the capital, Caracas.
“It it was for me, the election would be held next Sunday.” (Colombo Gazette)