Denmark's Prime Minister Helle Thorning-Schmidt has called a snap election for 18 June, when her centre-left coalition is expected to face a tough challenge from the opposition.
"The choice is clear, the time is right," Mrs Thorning-Schmidt said.
The opposition centre-right bloc, led by former PM Lars Loekke Rasmussen, has been leading in the opinion polls.
But it would likely need the support of the anti-immigrant Danish People's Party to push laws through parliament.
Reacting to the decision to hold the vote in 23 days' time, UK PM David Cameron cancelled plans to travel to Copenhagen on Thursday at the start of a tour of several European capitals.
First woman PM
Declaring the election date, Mrs Thorning-Schmidt said her government had succeeded in bringing about economic recovery.
"Denmark is back on track, we are out of the crisis. It's time to ask the Danes if they want to maintain this direction," she said.
Helle Thorning-Schmidt became Denmark's first female prime minister in 2011, as head of the Social Democrats, ending 10 years of centre-right rule.
She has pledged to raise welfare spending, while Mr Rasmussen's Venstre (Liberal) party wants limits on public sector growth.
Welcoming the early vote, he promised to focus on creating jobs in the private sector.
The vote had to be held before 14 September under election regulations.
Although the Liberals had been ahead in the polls, the Social Democrats have been catching up in recent weeks and some surveys have them overtaking Mr Rasmussen's party.
Support for the Danish People's Party has also been rising amid tensions over immigration.