President Donald Trump has announced that the US now recognises Jerusalem as Israel’s capital, overturning decades of official US policy.
Mr Trump described the move as “a long overdue step” to advance the Middle East peace process.
The president said the US would support a two-state solution, if approved by both the Israelis and the Palestinians.
Ahead of the decision, a spokesman for Palestinian President Mahmoud Abbas warned of “dangerous consequences”.
Speaking at the White House, Mr Trump said he had “judged this course of action to be in the best interests of the United States of America, and the pursuit of peace between Israel and the Palestinians”.
The president said he was directing the US state department to begin preparations to move the US embassy from Tel Aviv to Jerusalem.
In response, Israeli Prime Minister Benjamin Netanyahu said it was a historic day, and Israel was profoundly grateful to President Trump.
Jerusalem contains sites sacred to the three major monotheistic faiths.
East Jerusalem, which includes the Old City, was annexed by Israel after the Six Day War of 1967, but is not internationally recognised as part of Israel.
The US decision comes despite the opposition in the Muslim world, even among US allies.
But moving the embassy fulfils a campaign promise and appeals to Mr Trump’s right-wing base.
Recognising Jerusalem as Israel’s capital was “nothing more or less than a recognition of reality”, the president said.
“It is also the right thing to do,” he added.
He called on all parties to “maintain the status quo at Jerusalem’s holy sites, including the Temple Mount/Haram al-Sharif”.
The decision to recognise Jerusalem as Israel’s capital is a reversal of decades of US foreign policy, and differs sharply from the rest of the international community’s view on Jerusalem’s status.
The Palestinians claim East Jerusalem as the capital of a future state, and according to 1993 Israel-Palestinian peace accords, its final status is meant to be discussed in the latter stages of peace talks.
Israeli sovereignty over Jerusalem has never been recognised internationally, and until now all countries have maintained their embassies in Tel Aviv.
The French President Emmanuel Macron said France did not support the move and called for calm.