Gold rallied to a two-year high after the Federal Reserve sounded a less dovish note after its latest policy meeting, and as the dollar sank to a 21-month low versus the yen.
The Fed's cautious stance comes ahead of a British referendum on June 23 on whether to leave the European Union, which has dented appetite for assets seen as higher risk and sent investors scurrying for bonds and gold.
Spot gold was up 1.2 percent at $1,306.30 an ounce at 0936 GMT (5.36 a.m. ET), while U.S. gold futures for August delivery were up $21.40 an ounce at $1,309.70. Spot prices have bounced 7 percent this month after sliding to 3-1/2 month lows on May 30.
"We sold off in the first place because of the rocketing dollar, impending rate hikes, and people flooding into equities as they took a risk-on approach. But that's not the world of June 2016," ING analyst Hamza Khan said.
"We have equities selling off, oil selling off, the fear that Brexit will hit the markets. When you're in this risk-off environment, where do you go? Gold is a pretty good solution."
Sterling-denominated gold rose 2 percent to a three-year high of 928 pounds an ounce.
The Fed signaled on Wednesday that it still plans to raise rates twice in 2016, but said slower economic growth would crimp the pace of tightening in future years.
Expectations that the U.S. central bank would press ahead with rate hikes over the summer slipped earlier this month after the release of weak U.S. payrolls data for May.
That sparked a sharp move higher in gold, which is highly sensitive to rising rates. These lift the opportunity cost of holding non-yielding assets like bullion, while boosting the dollar, in which it is priced.
"The longer the Fed is seen as delaying a rate hike, the better for gold," HSBC said in a note.
Momentum picked up further after the Bank of Japan held off from expanding monetary stimulus, prompting a more than 2 percent rally in the yen versus the dollar.
Holdings in the world's largest gold-backed exchange-traded fund, SPDR Gold Shares, rose 0.23 percent to 900.75 tonnes on Wednesday, the highest since October 2013.
Among other precious metals, silver was up 1.4 percent at $17.70 an ounce, while platinum was up 1.5 percent at $985.26 per ounce and palladium was 1 percent higher at $537.46 per ounce.