Gold scaled a more than two-week peak on Friday and was en route for its first monthly gain in four after Washington's threat of tariffs on Mexico exacerbated fears of a global economic downturn, driving investors to perceived safe havens.
Spot gold jumped 0.8% to $1,298.76 an ounce by 0951 GMT, its highest since May 15. Bullion has risen by about 1.2% this month.
The metal is also on track for a second consecutive weekly gain, advancing by about 1%.
U.S. gold futures rose 0.9% to $1,298.30.
"The extension of trade tariffs from being (only a) Sino-U.S. issue caught people by surprise," said Ross Norman, chief executive at Sharps Pixley.
"Suspect this new development with Mexico indicates that this is not just an issue across the Pacific but could extend to the extent that global economic growth could be dented even further."
U.S. President Donald Trump on Thursday said that Washington will impose a 5% tariff on all goods coming from Mexico, starting on June 10, until the flow of illegal immigrants into the United States ceases.
Financial markets were rattled by the possibility that the United States and beyond could be tipped into recession.
Meanwhile, expectations of a cut in interest rates by the U.S. Federal Reserve increased after recent weak economic readings from the United States added to concerns raised by the prolonged U.S.-China trade dispute.
"The market is now factoring in three Fed rate cuts totalling 75 basis points by the end of 2020," Commerzbank analysts wrote in a note.
Lower interest rates would support gold because they reduce the opportunity cost of holding non-yielding bullion.
"However ... Gold hasn't done better because the dollar is considerably up year to date," said Sharps Pixley's Norman.
The dollar index is on track for a weekly gain and has risen about 2% this year on its status as a safe-haven asset in times of market and economic turbulence.
Among other metals, silver edged 0.2% higher to $14.54 an ounce but was heading for a fourth consecutive monthly loss.
Platinum rose 0.2% to $793.26, on track for its biggest monthly loss since November 2015, down 10.5%.
Palladium fell 0.2% to $1,364.95.