A Dutch anti-Islam party has more than doubled its seats in parliament in a national vote, though it is unclear if it will take part in a coalition.
Freedom Party leader Geert Wilders said he wanted to be part of government.
The election saw the centre-right Liberal Party (VVD) emerging as the largest party, one seat ahead of the centre-left Labour Party.
The Christian Democrat party of outgoing Prime Minister Jan Peter Balkenende suffered a big defeat.
Weeks of coalition negotiations are expected to follow the election.
With more than 99% of votes counted, the VVD had 31 of 150 seats, while Labour had 30.
As the party with the most seats, VVD leader Mark Rutte could now become the first prime minister from his political camp since World War I.
The unexpected big winner was the anti-Islam Freedom Party, the PVV, which took its number of seats from nine in the last parliament to 24 - its best-ever finish.
The campaign had been dominated by a debate over the economy, which was thought to have eclipsed immigration as an election issue.
But the strong showing for the Freedom Party, led by the controversial Geert Wilders, is a sign that immigration was still a powerful theme, correspondents say.
Mr Wilders has campaigned to stop the "Islamisation of the Netherlands".
He wants the Koran banned, and has suggested a tax on headscarves worn by Muslim women.
"Nobody in The Hague can bypass the PVV anymore," he said on Thursday, AFP news agency reported. "We want to be part of the new government."
The Netherlands is the first country in the eurozone to vote since a crisis erupted earlier this year over the single European currency, amid concerns about debt in Greece and other southern states.
The Dutch economy was contracting for a year before the country emerged from recession in the third quarter of 2009.
Mr Rutte has advocated steep budget cuts, a pared-down government and a reduction in benefits for immigrants.
"The Netherlands can emerge stronger from the crisis by taking measures now," he said after the vote.
The VVD, which had 21 seats in the outgoing parliament, had topped opinion polls for several weeks. Labour lost two seats compared with the previous elections in 2006.
Final results will not be declared until 15 June, when all overseas votes have been counted.
Without an outright majority in the 150-seat parliament, the VVD and Labour will now have to try to forge a coalition with at least two other parties, the BBC's Geraldine Coughlan reports from The Hague.
Mr Rutte has reportedly said he would not exclude any party from a possible coalition. During the campaign, he said he would have a coalition in place by 1 July if his party won - though analysts questioned whether this would be possible given the closeness of the result.
After the Christian Democrats plummeted to a historic low, outgoing leader Jan Peter Balkenende resigned his position as party leader and said he was quitting politics - though he also said he would stay on as caretaker prime minister until a new coalition was formed.
The party won 21 seats, 20 fewer than at the last election in 2006.
Mr Balkenende described his party's crushing election defeat as "disappointing".
"The outcome is clear. I've told the president of our party that I will be resigning as party leader and that I won't be serving as a member of parliament," he said.
The election - the fourth since 2002 - was called after the centrist coalition government, between the Christian Democrats and the Labour Party, collapsed in February.
The government fell when Labour withdrew from the coalition after refusing to extend the Dutch contribution to the Nato force, as outgoing PM Balkenende wanted.
Dutch troops are therefore expected to leave Afghanistan by August.