German Chancellor Angela Merkel has been re-elected for a fourth term while nationalists have made a historic surge in federal elections.
Her conservative CDU/CSU bloc has seen its worst result in almost 70 years but will remain the largest in parliament.
Its current coalition partner, the social democratic SPD, says it will go into opposition after historic losses.
The nationalist AfD has won its first seats and is set to be the third party, a result that sparked some protests.
Dozens of demonstrators gathered outside the right-wing, anti-Islam party’s headquarters in Berlin on Sunday night, some with placards saying “Refugees are welcome”.
Protests were also held in several other cities, including Frankfurt and Cologne.
While her alliance has remained the largest party, it is the worst result for the alliance between the Christian Democrat (CDU) and the Christian Social Union (CSU) since 1949, when national elections were held in Germany for the first time after World War Two.
Addressing supporters, Mrs Merkel, who has been in the job for 12 years, said she had hoped for a “better result”.
She added that she would listen to the “concerns, worries and anxieties” of voters of the Alternative for Germany (AfD) in order to win them back.
Mrs Merkel also said her government would have to deal with economic and security issues as well as addressing the root causes of migration – one of the main reasons behind the AfD’s result.
“Today we can say that we now have a mandate to assume responsibility and we’re going to assume this responsibility calmly, talking with our partners of course.”
It has been a long and bruising election campaign. Angela Merkel may have won the election but it does not feel like much of a victory.
This election will go down in the history books for two reasons. Mrs Merkel may have won a fourth term but it is her worst-ever general election result. And right-wing nationalists are now part of the German establishment.
The result is a verdict, perhaps, on Mrs Merkel’s decision to open Germany’s doors to one million refugees.
What is the political norm in many other European countries was considered unthinkable in post-war Germany. Not any more.
The Social Democrats (SPD) also had their worst election result since 1949. The party’s loss of support while junior partner in government saw leader Martin Schulz declare the end of the “grand coalition” with Mrs Merkel’s alliance, to cheers and applause.
“It’s a difficult and bitter day for social democrats in Germany,” Mr Schulz told supporters. “We haven’t reached our objective.”
He also vowed to prevent the AfD from being the main opposition party.