Germany’s centre-left Social Democrats have narrowly beaten the party of outgoing Chancellor Angela Merkel in federal elections, according to preliminary results.
SPD leader Olaf Scholz says he has a clear mandate to form a government, but his conservative rival, Armin Laschet, is determined to fight on.
The two parties have governed together for years but are unlikely to continue.
Instead the Greens and liberals are looking for a role in a new coalition.
The two parties attracted the most support from the under-30s, in an election dominated by climate change and by differing proposals on how to tackle it. The Greens made history with almost 15% of the vote, even though it was well short of their ambitions.
It was the tightest race in years, bringing an end to the post-war domination of the two big parties – Mr Scholz’s SPD and his rival’s conservative Christian Democratic Union (CDU). For the centre-left it was a significant improvement on the last election, but for the conservatives it was their worst ever performance.
Exit polls predicted a dead heat, but this election was unpredictable from the start, and the result was never going to be the end of the story. For one thing, the outgoing chancellor is going nowhere until the coalition is formed – and that may have to wait until Christmas.
The successor’s task is to lead Europe’s foremost economy over the next four years, with climate change at the top of voters’ agenda.
Mr Scholz’s SPD supporters greeted him in raptures, but it was only later when his party edged into the lead that he told a televised audience the voters had given him the job of forming a “good, pragmatic government for Germany”.