Spanish Prime Minister Jose Luis Rodriguez Zapatero has announced general elections in November, four months earlier than anticipated in a bid to give his Socialist Party a better chance at maintaining power.
Mr Zapatero set the election date for November 20.
Analysts said the move could help the Socialist Party candidate, Alfredo Perez Rubalcaba, former interior minister for Mr Zapatero. While Mr Rubalcaba has trailed against Popular Party candidate Mariano Rajoy, a new poll showed Rubalcaba closing the gap.
Mr Zapatero had announced earlier this year he would not seek a third term. Mr Rajoy has been demanding early elections for months, saying Spaniards are fed up with the handling of the economy by Zapatero and his administration.
Spain's unemployment rate is 20.9 %, the highest in the eurozone.
Mr Rajoy's party trounced the Socialists in nationwide regional and municipal elections held in March.
Adding to Spain's economic woes, the Moody's rating agency warned on Friday that it may downgrade Spain's credit rating given the country's weak economic growth prospects and ongoing funding pressures.
The move was a further sign that last week's bailout of Greece has not ended fears of debt crisis contagion elsewhere in Europe.
Mr Zapatero has presided over a series of unpopular austerity measures aimed at preventing Spain from needing a bailout - including raising the retirement age to 67, tax rises and wage cuts for government workers ranging from teachers to police.