Silver for March delivery jumped 99.3 cents, more than 3 percent, to $32.177 per ounce. Gold for April delivery rose $18.90, more than 1 percent, to $1,681.60 per ounce.
That contrasted with stocks, as all major U.S. indexes ended lower. Investors fretted about a government report showing the U.S. economy unexpectedly shrank in the fourth quarter.
A plodding economy means the Federal Reserve is more likely to keep interest rates down, to make borrowing cheap and spur growth. When that happens some investors worry about inflation and pile into gold for protection.
The Fed confirmed its commitment to buying bonds and keeping interest rates exceptionally low on Wednesday afternoon, at the end of its two-day policy meeting.
Gold and other precious metals have languished as stocks rose to levels not seen in years. But for gold on Wednesday "the negative turned into a positive," said George Gero, vice president at RBC Capital Markets Global Futures.
Though gold and silver often trade in the same direction, silver's moves can be bigger by percentage, a pattern that held on Wednesday. It's much cheaper to buy silver, and that makes its price more volatile.
Other metals were also up. March copper climbed 5.85 cents, more than 1 percent, to $3.75 per pound. March palladium rose $1.65 to $751.40 per ounce. April platinum was up $10.40 to $1,689.30 per ounce.
Prices for key crops ended higher. Wheat rose 10 cents, more than 1 percent, to $7.87 per bushel. Corn was up 10.75 cents, also more than 1 percent, to $7.4025 per bushel. Soybeans climbed 27 cents, almost 2 percent, to $14.7875 per bushel.
Benchmark crude oil rose 37 cents to finish at $97.94 per barrel. Natural gas for March delivery picked up 7.7 cents to end at $3.34 per 1,000 cubic feet. Heating oil rose nearly a penny, to finish at $3.12 a gallon, and wholesale gasoline for March delivery rose 6 cents to end the day at $3.03 a gallon.