Strengthening its gains for the third session, the rupee on Monday surged by another 24 paise to close at a 3-week high of 67.13 on persistent selling of dollars by banks and exporters amid massive rally in domestic equities.
Markets put up a strong rally on an across-the-board buying frenzy, lifting the Sensex about 500 points to close at 11-month high of 27,627 and the Nifty above 8,400 amid robust global cues.
However, firm dollar in the overseas market restricted the rupee's gain, a foreign exchange (Forex) dealer said.
The rupee opened higher at 67.12 per dollar against last Friday's closing level of 67.37 at the Interbank Forex market and hovered in a range of 67.06 and 67.22 before ending at more than 3-week high of 67.13, showing a gain of 24 paise or 0.36 %.
It has gained by 32 paise or 0.47% in three trading days.
The rupee had last ended at 67.08 a dollar on June 17, 2016.
Meanwhile, the Reserve Bank of India fixed the reference rate for the dollar at 67.1426 and euro at 74.1053.
In cross-currency trades, the rupee moved up further against the pound sterling to end at 87.19 from 87.41 on last Friday and firmed up further against the euro to 74.20 from 74.55.
The domestic currency recouped sharply against the Japanese yen to 65.57 a 100 yens from 67.08.
The dollar index was trading up 0.23% against a basket of six currencies in the late afternoon trade.