Turkey has recalled its envoy to Germany in protest against German MPs declaring the massacre of Armenians during WWI a 'genocide'.
Turkey called the vote "an example of ignorance and disrespect".
Armenians say up to 1.5 million of their people died in the atrocities of 1915, but Turkey says the toll was much lower and rejects the term "genocide".
The vote heightens German-Turkish tensions at a time when Turkey's help is needed to control migrant arrivals.
Turkish President Recep Tayyip Erdogan said the resolution would seriously affect relations with Germany, and the government would consider further measures in response to the vote.
The Turkish Foreign Minister Mevlut Cavusoglu tweeted: "The way to close the dark pages in your own history is not by besmirching the history of other countries with irresponsible and groundless parliamentary decisions," a clear reference to Germany's Nazi past.
But the German Foreign Minister Frank-Walter Steinmeier called for calm.
"As expected, Turkey has reacted, and I hope that we will succeed in the next days and weeks to avoid any overreaction," he told journalists during a visit to Buenos Aires.
Armed riot police were deployed outside the German consulate in Istanbul, near Taksim square, where a protest against the vote was taking place.
- Turkey's Prime Minister Binali Yildirim blamed a "racist Armenian lobby" for the resolution.
- Armenia's Foreign Minister Edward Nalbandian said it was a "valuable contribution" to the "international recognition and condemnation of the Armenian genocide".
- German Chancellor Angela Merkel said: "There is a lot that binds Germany to Turkey and even if we have a difference of opinion on an individual matter, the breadth of our links, our friendship, our strategic ties, is great".
Turkey denies that there was a systematic campaign to slaughter Armenians as an ethnic group during World War I. It also points out that many Turkish civilians died in the turmoil during the collapse of the Ottoman Empire.
Mrs Merkel was not in the Bundestag (lower house) for the vote. Her Christian Democrats (CDU), their coalition partners the Social Democrats (SPD) and the Greens all supported the resolution, and the vote in favour was overwhelming, with only one vote against and one abstention.
The resolution uses the word "genocide" in the headline and text. It also says Germany, at the time an ally of the Ottomans, bears some guilt for doing nothing to stop the killings.
Under a deal struck in March, Turkey agreed to take back migrants, including Syrians, arriving on Greek islands, in return for EU aid and a pledge to give Turks visa-free travel to most of Europe.
Germany accepted 1.1 million migrants last year, by far the highest influx in the EU.
German-Turkish relations were also strained this year by the case of comedian Jan Boehmermann, whose obscene poem about Mr Erdogan prompted a criminal complaint from the Turkish leader.
Last month a court in Hamburg ruled that Boehmermann's poem was satire, but banned him from repeating the sexual references in it, deeming them unacceptable.
Germany plans to repeal a clause in the constitution prohibiting insults that target foreign leaders - the clause invoked by Turkey in the complaint.
Armenian genocide dispute
- Hundreds of thousands of Christian Armenians died in 1915 at the hands of the Ottoman Turks, whose empire was disintegrating.
- Many of the victims were civilians deported to barren desert regions where they died of starvation and thirst. Thousands also died in massacres.
- Armenia says up to 1.5 million people were killed. Turkey says the number of deaths was much smaller.
- Most non-Turkish scholars of the events regard them as genocide - as do more than 20 states including France, Germany and Russia, and some international bodies such as the European Parliament.
- Turkey rejects the term "genocide", maintaining that many of the dead were killed in clashes during World War I, and that many ethnic Turks also suffered in the conflict.