In a speech at the White House, Trump said his administration would begin a process of moving the US embassy in Tel Aviv to Jerusalem, which is expected to take years.
The status of Jerusalem -- home to sites holy to the Muslim, Jewish and Christian religions -- is one of the thorniest obstacles to reaching a peace deal between Israel and the Palestinians.
"I have determined that it is time to officially recognize Jerusalem as the capital of Israel," Trump said. "While previous presidents have made this a major campaign promise, they failed to deliver. Today, I am delivering."
Israel considers the city its eternal and indivisible capital and wants all embassies based there. Palestinians want the capital of an independent Palestinian state to be in the city's eastern sector, which Israel captured in a 1967 war and annexed in a move never recognised internationally.
He said any peace deal with Palestinians must include Jerusalem as Israel’s capital. This would be a non-starter for Palestinians if it means the entire city would be under Israeli control.
The Palestinians have said Trump's move would mean the "kiss of death" to the two-state solution, envisaging a Palestinian state in territory - the Gaza Strip, the West Bank and East Jerusalem - that Israel took in 1967.
Ahead of Trump's announcement, Washington's allies in the region warned of dangerous repercussions.
Trump said his move is not intended to tip the scale in favour of Israel and that any deal involving the future of Jerusalem would have to be negotiated by the parties.
He said he remained committed to the two-state solution between the Israelis and Palestinians if they parties want one.
Amid warnings of potential unrest in the Middle East, the president called on the region to take his message calmly and with moderation.
"There will of course be disagreement and dissent regarding this announcement—but we are confident that ultimately, as we work through these disagreements, we will arrive at a place of greater understanding and cooperation," Trump said.
Trump said his move reflected the reality of Jerusalem as the centre of Jewish faith and the fact that the city is the seat of the Israeli government.
Trump's decision is likely to please his core supporters - Republican conservatives and evangelical Christians who comprise an important share of his political base.
He acted under a 1995 law that requires the United States to move its embassy to Jerusalem. His predecessors, Bill Clinton, George W. Bush and Barack Obama, had consistently put off that decision to avoid inflaming tensions in the Middle East.
Trump signed a waiver delaying the embassy move from Tel Aviv since the United States does not have an embassy structure in Jerusalem to move into. A senior administration official said it could take three to four years to build one.