Sustained foreign capital inflows also boosted the rupee, a forex dealer said.
The rupee resumed higher at 61.57 per dollar against the previous close of 61.59 and dropped immediately to 61.70 on initial dollar demand from banks and importers.
After moving in a range of 61.35 to 61.70, it ended at 61.46 a dollar, a gain of 13 paise or 0.21 per cent. The local currency is at the highest level since closing at 61.27 on October 18.
Foreign institutional investors (FIIs) bought a net Rs 644.80 crore of shares yesterday, according to preliminary data from the stock exchanges.
Pressure on the currency also eased after RBI yesterday said it has received USD 10.1 billion under two schemes announced last month to attract foreign funds.
In New York, the US dollar was flat or slightly higher yesterday against most major rivals, excluding the yen, as concerns about China's banks triggered safe-haven buying, analysts said.
The Indian benchmark Sensex crossed the 21K mark after 35 months in intra-day trading and ended 42 points lower at 20,725.43.
