Gold steadied on Monday, holding above a nearly four-month low touched the previous session on support from a weaker dollar and expectations the United States would put further restrictions on Iran's oil exports.
Spot gold was slightly up 0.1 percent at $1,275.62 per ounce. On Thursday, it touched $1,270.63, its lowest since Dec. 27. The market was closed on Friday.
U.S. gold futures settled $1.60 higher at $1,277.60 an ounce.
The United States has "taken an aggressive move by not extending the (sanctions) waivers. There are some geopolitical risks and a bit of safe-haven demand" for gold, said Bob Haberkorn, senior market strategist at RJO Futures.
A weaker dollar and softer equities were also supporting bullion, he added.
Oil topped $74 a barrel on Monday, the highest since November, as the United States announced a further clampdown on Iranian oil exports.
Wall Street equities were trading lower, weighed down by technology shares, which helped bullion accumulate safe-haven bids.
"There is some risk aversion in the marketplace to start the trading week, as the U.S. is ratcheting up its economic sanctions on Iran," said Jim Wyckoff, senior analyst with Kitco Metals in a note.
The dollar was down 0.2 percent, making bullion cheaper for investors holding other currencies.
On the technical front, gold's break below key support levels, including the 100- and 50-day moving averages last week, signaled a further downside to prices, analysts and traders said.
"Technically, the gold bears have the overall near-term technical advantage," Wyckoff said.
Meanwhile, speculators switched to a net short position in COMEX gold in the week to April 16, the U.S. Commodity Futures Trading Commission (CFTC) said on Friday.
Holdings of SPDR Gold Trust, the world's largest gold-backed exchange-traded fund, dropped to 751.68 tonnes on Thursday, the lowest levels seen since Oct. 26.
Among other metals, silver rose 0.6 percent to $15.02 per ounce.
Platinum fell 0.8 percent, to $893.50 per ounce and palladium slipped 2.8 percent to $1,382.18 per ounce, having earlier climbed to its highest in more than two weeks at $1,429.91 an ounce.