Gold soared as much as 2.8% on Monday to its highest level in seven years, as investors worried about global economic growth in the face of sharply rising coronavirus cases outside China.
"The markets are spooked right now," said Bob Haberkorn, senior market strategist at RJO Futures, citing coronavirus fears.
"The concern is not about the virus precisely, it is from the economic standpoint. The Dow Jones is down about 1,000 points, the bond yields are also lower."
There was a sharp rise in coronavirus cases reported in Italy, South Korea and Iran, with Afghanistan and Iraq reporting their first cases. However, the rate of infection in China has eased.
Outside mainland China, the outbreak has spread to about 29 countries and territories, with a death toll of about two dozen, according to a Reuters tally.
The World Health Organization said it was worried about the growing number of cases without any clear link to China.
Investors view gold and other assets like government bonds and the U.S. dollar as safe havens during times of stress.
The curve inversion between the 3-month and 10-year U.S. Treasury bond yields deepened, in what economists view as a recession signal. The benchmark 10-year Treasury yield fell to its lowest since July 2016.
Investors' fears over the virus outbreak triggered a wide sell-off in equity markets. The Dow Jones industrials slid more than 800 points, below its 100-day moving average for the first time since October.
In Europe, markets had their biggest daily declines since mid-2016.
"The upswing in the gold price is being accompanied by further ETF inflows. Speculative financial investors have also increased their bets on rising gold prices significantly," Commerzbank analysts said in a note.
"However, this also means that the gold price upsurge is on shaky ground, so falls can be expected in the event of profit-taking."
Reflecting increased investor interest in bullion, speculators raised their bullish positions on COMEX gold and silver contracts in the week to Feb. 18, data showed on Friday.
Mirroring gold's gains, silver rose 1.6% to $18.75 an ounce, having hit its highest since September at $18.90.
Palladium eased 3.3% to $2,613.59 per ounce, while platinum shed 1.1% to $962.72.