Gold inched up on Monday, moving away from a near 4-month trough touched in the previous session, drawing support from a drop in equities and a jump in crude oil prices.
Spot gold was up 0.3 percent at $1,278.74 per ounce, as of 0927 GMT, having touched $1,270.63 in the previous session - its lowest since Dec. 27, 2018.
Asian shares slipped, weighed down by underperforming Chinese stocks, while oil prices rallied on news the United States is likely to ask all importers of Iranian oil to end their purchases or face sanctions.
Higher oil prices are influencing gold, said Jigar Trivedi, a commodities analyst at Mumbai-based Anand Rathi Shares & Stock Brokers.
"While the intensity of correlation between oil and gold has reduced, buying in one asset class is supporting the other," Trivedi said.
Gold is closely correlated to oil as the metal is often seen as a hedge against oil-led inflation.
However, a firmer dollar capped gains for the metal after data showed the United Sates' economic growth might have picked up in the first quarter.
US retail sales increased the most in 1-1/2 years in March, the latest indication that economic growth picked up in the first quarter after a false start, data showed on Thursday.
"The disaster over the weekend in Sri Lanka is providing some safe-haven demand besides some interest in physical buying, which is also offering support to gold prices," said Afshin Nabavi, senior vice president at MKS SA.
Gold is considered a safe investment during political or economic uncertainties.
Attacks on churches and luxury hotels in Sri Lanka on Sunday killed 290 people and wounded more than 500.
"However, the metal is facing strong resistance at $1,280, which is a big barrier. Another reason the market is not rallying is the stronger dollar," Nabavi said.
Meanwhile, speculators switched to a net short position in COMEX gold in the week to April 16, the US Commodity Futures Trading Commission (CFTC) said on Friday.
Also, 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.
"Gold is hovering between the 100-day exponential moving average around $1,285 and 200-day exponential moving average around $1,275, below this we can look for $,1260," Trivedi of Anand Rathi said.
Elsewhere, silver rose 0.7 percent to $15.02 per ounce.
Platinum gained 0.7 percent to $906.75 per ounce. Palladium was steady at $1,422 an ounce, having earlier climbed to its highest in over two weeks at $1,428.98 an ounce.