Prime Minister Mariano Rajoy's Popular Party has 22.7 percent support, Ciudadanos has 22.6 percent and the Socialists have 22.5 percent, meaning no party would be able to secure a parliamentary majority, the poll published in the centre-left daily El Pais showed.
New anti-austerity party Podemos had 17.1 percent support, according to the Metroscopia survey of 1,200 eligible voters carried out November 23-25.
The "minimal" difference in support for the three top parties "indicates that any of the three formations is in the position, at the moment, to end up imposing itself in the fast approaching final sprint," Metroscopia president Jose Juan Toharia wrote in the newspaper.
"This extreme equality, at such a close distance from the finish line, indicates hat the party that finally imposes itself, will without a doubt, do so by a very narrow margin," he added.
Opinion polls have been highly volatile in recent months as anger over corruption scandals and a prolonged economic crisis fuels the rise of newcomers on the left and right, threatening the traditional dominance of the Popular Party and the Socialists.
Rajoy has made economic recovery one of the mainstays of his campaign for re-election in polls on December 20, after Spain in 2014 came out of five years of recession or zero-growth.
But much of the Spanish population still does not feel the effects of this recovery and opponents of Rajoy's conservative Popular Party say many of the jobs created are precarious or badly paid.
Growth slowed slightly in the third quarter of 2015 to 0.8 percent compared with 1.0 percent in the previous three months while the unemployment rate stood at 21.2 percent, the highest in the eurozone with the exception of Greece.
Rajoy has vowed to cut income tax and create two million jobs over the next four years if his party is re-elected.