The domestic currency had lost 19 paise to end at 63.30 against the dollar on Friday due to strong demand for the US currency from oil firms.
Dollar losing strength in the overseas markets also helped the rupee rise.
At the Interbank Foreign Exchange market, the rupee moved in the range 63.13 and 63.32 before settling at 63.25, showing a gain of 5 paise.
Foreign portfolio investors sold shares worth Rs 668.85 crore (Rs 6.68 billion), as per provisional data with stock exchanges.
Pramit Brahmbhatt, Veracity Group CEO, said: "Today rupee started the day on the lower side taking cues from the dollar demand from oil importers .... But towards the end local equities supported rupee as it traded strong and posted gain."
Meanwhile, benchmark BSE Sensex flared up by 329.95 points or 1.21 per cent, extending gains for the third straight session.
In the forward market, the benchmark six-month premium payable in May ended at 196.5-198.5 paise of 196-198 paise previously.
Forward contracts maturing in November 2015 also settled at 402.5-406.5 paise as against 401-403 paise in the previous trading day.
Reserve bank of India fixed the reference rate for dollar at 63.17 and for euro at 77.41.
The rupee also recouped against pound to 98.70 from the last close of 98.91. Against euro, it improved further to 77.54 from 77.64.
It also strengthened to 52.81 per 100 Japanese yen from 53.04.
Yes, the rupee IS overvalued
Why RBI wants the rupee to weaken
Weakness in rupee seen continuing in 2015
Rupee sees biggest gain in 7 months; ends at 63.11
3 themes that will dominate the markets in 2015