The rupee had dropped by 60 paise or 0.89 per cent in previous three trading days.
Snapping three-day losing momentum, the rupee recovered by 45 paise to close at 67.78 per dollar on fresh selling of the American currency by banks and exporters in view of sharp recovery in equities.
Banks and exporters preferred to reduce their dollar position on hopes of resumption of foreign capital inflows.
The domestic unit resumed higher at 68.10 per dollar as against the yesterday's closing level of 68.23 at the Interbank Foreign Exchange market and moved up further to 68.1250 before ending at 67.78 per dollar, showing a gain 45 paise or 0.66 per cent.
The rupee had dropped by 60 paise or 0.89 per cent in previous three trading days.
The dollar index was up by 0.49 per cent against a basket of six currencies in the later afternoon trade.
The yen weakened sharply against the dollar and its major rivals in choppy Asia trade today, after the Bank of Japan surprised markets by unexpectedly introducing a negative interest rate policy.
However, US dollar weakened versus the euro yesterday after a disappointing reading on durable-goods orders in December, combined with a dovish outlook from the Federal Reserve on Wednesday.
Oil extended a recent rally in Asia, boosted by weakness in the dollar and Russia saying it could meet the OPEC producers' group for talks on possible output cuts to ease a painful supply glut.
Meanwhile, the benchmark BSE Sensex ended higher by 401.12 points or 1.64 per cent today.
Pramit Brahmbhatt of Veracity Financial Services said, "The rupee opened on a stronger note and continued to trade strong throughout the day. The rupee taking cue from equity market traded stronger. Our benchmark index NIFTY closed with a handsome gain of 139 points. Thus the rupee closed with a gain of 43 paise at 67.78 levels."
Trading range for spot USD/INR pair is expected to be within 67.5 to 68 range.
In forward market, premium for dollar declined further on sustained receivings from exporters.
The benchmark six-month premium payable in June moved down to 172-174 paise from 174-176 paise yesterday and far forward December 2016 contract also moved down to 378-380 paise from 381-383 paise.
The RBI fixed the reference rate for the dollar at 67.8763 and for the euro at 74.0666.
In cross-currency trades, the rupee recovered against the pound sterling to end at 96.97 from 97.53 yesterday and the euro also recouped to 73.99 from 74.43.
The domestic unit moved up further against the yen to 56.07 from 57.39 per 100 yen.
Why Facebook made WhatsApp free
14 stunning cars to be launched in 2016
Gatiman Express: Travel from Delhi to Agra in 105 minutes!
Bajaj Auto to launch bike from metal used in INS Vikrant
Why temples have not deposited gold with banks so far