Trading in most emerging Asian currencies was subdued as investors awaited the key US employment data for May later in the day.
Paring its early sharp gains, the rupee ended marginally higher by 4 paise at 67.25 against the US dollar in a highly volatile trade amid buoyant overseas sentiment.
Sustained dollar selling by exporters and suspected RBI intervention through state-owned banks largely helped the home currency to settle higher for the second straight day.
Robust capital inflows into equities and debts also aided sentiment for the local unit.
Dealers avoided taking long positions ahead of RBI's bi-monthly monetary policy meet due on Tuesday, a forex trader said.
The domestic unit resumed firmly higher at 67.23 a dollar against last closing level of 67.29 at the Interbank Foreign Exchange (Forex) market owing to consistent selling of the American currency by banks and exporters.
It gained further ground moving in line with a higher opening in the domestic equity market and touched an intra-day high of 67.15.
However, the local unit turned highly volatile in late afternoon trade and took a sudden reversal trend to touch a low of 67.3750 owing to fresh bouts of dollar demand.
However, it recouped some of its losses to end at 67.25, showing a nominal gain of 4 paise, or 0.06 per cent.
Trading in most emerging Asian currencies was subdued as investors awaited the key US employment data for May later in the day.
The dollar has been strengthening in recent weeks as expectations of Fed rate hike.
Meanwhile, the RBI fixed the reference rate for the dollar at 67.2415 and euro at 74.9944.
In cross-currency trades, the rupee continued to rule firm against the pound sterling and closed at 96.98 compared to 97.23 and also rose against the euro to end at 74.94 from 75.30 earlier.
However, it weakened further against the yen to settle at 61.78 per 100 yens from 61.76 yesterday.
Meanwhile, foreign portfolio investors (FPIs) remained buyers for the third day in a row and bought shares worth a net Rs 1,585.01 crore today, as per provisional data.
On the global front, the dollar traded marginally higher against a basket of major currencies after rebounding from its overnight two-week low ahead of US payrolls report. The dollar index was trading at 94.81, down 0.75 per cent.
Despite initial retreat, Brent oil prices rebounded to trade around $50 a barrel after the much-awaited OPEC meet in Vienna failed to agree on output targets.
In forward market, premium for dollar moved in a narrow range due to uneven demand and supply.
The benchmark 6-month premium for November softened to 200-200-3/4 paise from 200-202 paise and far forward May 2017 contract also eased to 392-393 paise from 392-394 paise on Thursday.
The Sensex ended little changed at 26,843.03 after reclaiming the psychological 27,000 milestone in early trade, while the broader Nifty settled just 2 points higher at 8,220.80.
Rupee up 13 paise to 67.13 in late morning deals
Rupee slips 10 paise to 67.26 on dollar demand
Rupee continues rising trend, gains 16 paise to 67.17/USD
Rupee's free fall continues, plunges 26 paise to 67.75