Gold rose more than 1 percent on Monday to its highest in about 2-1/2 months as investors sought refuge after a slide in European equities compounded jitters on global stock markets.
Spot gold was up 1.1 percent at $1,231.45 an ounce, having touched their highest since July 26 at $1,233.26.
U.S. gold futures rose 1.1 percent to $1,235.
"Gold has now got a stronger tailwind from a flight to safety from risky assets," said Quantitative Commodity Research analyst Peter Fertig. "Gold's next moves will depend on how long this sell-off continues."
Global stocks were under pressure, with European shares falling to a 22-month low, weighed down by factors including the U.S.-China trade dispute, higher U.S. interest rates, stalled Brexit negotiations and concern about economic slowdown in China.
The International Monetary Fund last week said that risks to the global financial system, which have risen over the past six months, could increase sharply if pressures in emerging markets escalate or global trade relations worsen.
"After many months investors are looking at bullion with much more interest and the price is moving consequently," ActivTrades chief analyst Carlo Alberto De Casa said in a note.
"The outflow in exchange-traded funds (ETF) seen in the last few months is now changing direction as well."
Holdings of SPDR Gold, the largest gold-backed ETF, rose nearly 2 percent last week. That was the biggest weekly inflow since January, having registered declines of more than 4 million ounces since hitting a peak in late April. Gold, usually seen as a safe store of value during political and economic uncertainty, remains about 10 percent down from its April peak, with investors preferring the dollar as the U.S.-China trade war unfolded against a background of higher U.S. interest rates.
Speculators, meanwhile, extended their net short position on Comex gold by 29,881 contracts to 103,009 contracts, CFTC data showed last week.
In other precious metals, platinum climbed 1.4 percent to $848.50 an ounce after touching its highest since July 10 at $849.40.