Global equities fell and crude oil gained $2 a barrel as the United States threatened to isolate Russia economically in Moscow's biggest confrontation with the West since the Cold War.
Spot gold rose as high as $1,354.80 an ounce, its loftiest since Oct. 30, and was at $1,348, up 1.7 percent on the day.
U.S. gold futures for April delivery settled 2.2 percent higher at $1,350.30 an ounce, their highest close since October 28.
Gold is usually seen as a hedge against oil-led inflation and tends to move in tandem with crude prices.
"The uncertainty surrounding Ukraine could push gold prices higher in the next few weeks ... although diplomatic and political solutions are going to be sought ... a lot will also depend on investor positioning,'' Societe Generale analyst Robin Bhar said.
Traders said gold, which lost 28 percent of its value last year, benefited from knee-jerk buying on economic uncertainties as Russia's President Vladimir Putin's forces tightened their grip on the Russian-speaking Crimea region.