Metals and energy futures ended mostly higher Wednesday, while grains and beans were mixed.
Gold for June delivery rose $24.90, or 1.7 percent, to settle at $1,473.70 an ounce.
Other metals also rose, including copper, silver, platinum and palladium.
July silver rose 12.10 cents to $23.927 an ounce. July copper rose 6.8 cents to $3.3705 a pound. July platinum rose $23.70 to $1,504.90 an ounce and June palladium rose $17.65 to $698.25 an ounce.
The price of crude oil rose to the highest in more than a month after the government reported U.S. crude supplies increased less than analysts expected.
Benchmark crude for June delivery rose $1 to finish at $96.62 a barrel. It hasn't settled that high since April 2.
Oil supplies increased by 200,000 barrels to 395.5 million barrels last week, the Energy Department reported. That's 4.2 percent above the same time a year ago. Analysts were expecting an increase of 1.9 million barrels in the week ended May 3.
The increase was smaller than analysts were expecting because of lower imports of crude and busier refineries.
Refineries operated at 87 percent of capacity last week, up 2.6 percentage points from the week before. Demand for gasoline fell 2.4 percent over the past four weeks, and demand for distillates, such as heating oil and diesel, also fell.
Other energy products ended mostly higher.
Wholesale gasoline rose 2 cents to finish at $2.85 a gallon, heating oil fell 1 cent to end at $2.91 a gallon and natural gas added 6 cents to finish at $3.98 per 1,000 cubic feet.
Grains and beans futures ended mixed.
In July contracts, wheat fell 3 cents to $7.06 a bushel, corn lost 7 cents to $6.33 a bushel and soybeans rose 8.5 cents to $13.9075 a bushel.