Silver slipped sharply from an 11-month peak on Thursday as a rebound in the dollar prompted traders to cash in earlier gains, while gold also fell from a five-week high hit after comments from the European Central Bank drove the euro higher.
The euro zone common currency jumped as much as 1 percent against the dollar after ECB chief Mario Draghi said the bank's policies are working to stimulate economic recovery. However, it failed to maintain those gains, sparking a retracement across precious metals.
Silver was up 0.6 percent at $17.03 an ounce by 2:11 p.m. EDT (1811 GMT), off a peak of $17.70, its highest since May.
Spot gold was up 0.4 percent at $1,248.50 an ounce, but was well below an earlier five-week high of $1,270.10. US futures for April delivery settled down 0.3 percent at $1,249.
The 19-market Thomson Reuters CoreCommodity Index fell as much as 1.2 percent after rallying to a 4-1/2-month high, with oil prices reversing early gains and the US dollar turning higher against a basket of other major currencies.
The head of the ECB robustly defended the bank's policy of printing money and keeping borrowing costs at rock bottom and said interest rates would stay at current record lows for a long time.
"I don't think the market received the signals they were looking for about near-term softening," said Philip Diehl, president of US Money Reserve.
While the metals were struggling to maintain their early rally, positive sentiment for commodities in general are underpinning gold and silver, Commerzbank analyst Carsten Fritsch said.
Silver broke above key chart resistance last week and reached its most expensive versus gold in six months on Thursday.
The world's largest gold-backed exchange-traded fund, New York's SPDR Gold Shares, has seen outflows of 14 tonnes so far this week, while silver ETF holdings have surged.
Spot platinum was up 0.6 percent at $1,021.85 an ounce and spot palladium rose 1.1 percent to $600.04.
As gold and silver rallied in the wake of the ECB's comments, palladium touched its highest since early November at $615.85 an ounce, while platinum hit a 9-1/2-month high of $1,043.72.