Gold climbed more than 1.5% on Monday to its highest level in more than three months on concerns that U.S.-Chinese trade tensions and Washington's threat of tariffs on Mexico would hurt the global economy.
Spot gold climbed 1.4% to $1,323.62 per ounce, after rising as much as 1.6% to its highest price since Feb. 28 at $1,325.72.
U.S. gold futures settled up 1.28% at $1,327.90 an ounce.
"There are concerns still surrounding the trade wars, whether it be surrounding the tariffs with Mexico or the tariffs with China. There is a 'flight to safety' buying going into metals," said Bob Haberkorn, senior market strategist at RJO Futures.
Relations between the United States and China got another jolt when the two nations clashed again at the Shangri-La Dialogue in Singapore on Sunday.
Mexican Foreign Minister Marcelo Ebrard said U.S. President Donald Trump's threat of punitive tariffs on Mexico would be devastating and would not stop waves of Central American migrants from crossing the southern U.S. border.
Equity markets bore the brunt of the two-pronged tariff threat from the United States, while safe-haven assets such as the Swiss franc and gold have been hefty beneficiaries.
Adding to woes, factory activity contracted across Asia and Europe last month on fears of a global economic downturn.
Furthermore, U.S. manufacturing growth slowed further in May to its weakest pace in more than two-and-a-half years, a national purchasing managers' survey showed on Monday.
Expectations of potentially lower interest rates in the United States, a relatively lower dollar and the volatility in equity markets are moving capital into gold and other precious metals broadly, said Bart Melek, head of commodity strategies at TD Securities in Toronto.
Signifying an uptick in investor sentiment toward bullion, speculators increased their net long positions in COMEX gold in the week to May 28, data showed.
Holdings of SPDR Gold Trust, the world's largest gold-backed exchange-traded fund, rose 0.3% to 743.21 tonnes on Friday.
Silver rose 1.5% to $14.79 per ounce. The metal touched a more than two-week high of $14.80 earlier in the session.
Palladium fell 0.3% to $1,321.51 per ounce, while platinum jumped over 4 percent to $824.75 per ounce, a two-week high. The metal was on track for its best daily gain since early January 2017.
"On the one hand we have fears that the U.S.-China trade dispute will continue to follow not a friendly trajectory and potentially we could see slower growth which could mean less industrial demand," Melek added.
"So palladium has been trading lower while platinum has been trading higher along with gold. Gold, platinum and silver tend to be much more of a safe haven than palladium, traditionally."