The poll by Ipsos-Sopra Sterna predicts that the centrist Macron would receive 22 per cent in the first round, as would Front National leader Marine Le Pen.
The left-wing candidate Mélenchon is on 20 per cent, while Mr Fillon trails just one point behind on 19 per cent.
In a previous poll published by Ipsos France, Ms Le Pen and Mr Macron were on 25 per cent in the first round, comfortably ahead of of Mr Fillon, in third place, who was expected to receive 17.5 per cent.
Mr Mélenchon, a hard-left candidate who supports a Universal Basic Income and has promised to withdraw France from Nato and the World Bank, has been enjoying a surge in popularity in recent weeks.
He has overtaken the Socialist Party’s Benoît Hamon to become the leading left-wing candidate.
Meanwhile, Ms Le Pen’s support has nosedived after the European Parliament accused the Front National of defrauding it to the tune of €340,000 (£290,000).
French voters will go the polls on 23 April. Under the French system, if no presidential candidate gains more than half the vote, they are pitted against each other in a second round of voting 14 days later.
This year, 11 candidates are standing for election, so a second round is virtually a certainty.
Taking into account undecided voters and allowing for a margin of error in polling results, it is impossible to say with certainty who of the front four will go head-to-head in the second round.