After hitting a high of 41,055.80 points, the 30-share BSE Sensex ended 428 points, or 1.05 per cent, higher at 41,009.71.
Forex traders said the news that the US and China are very close to reaching a trade deal supported the local unit.
After rising 284 points in early session, the 30-share Sensex was trading 244.04 points or 0.60 per cent higher at 40,825.75.
After rallying over 300 points, the 30-share BSE Sensex ended 169.14 points, or 0.42 per cent, higher at 40,581.71.
Forex traders said the domestic unit gained ground ahead of the release of key macro-economic numbers.
The 30-share Sensex was trading 149.75 points or 0.37 per cent higher at 40,562.32 in morning trade.
After swinging nearly 330 points, the Sensex finished 172.69 points or 0.43 per cent higher at 40,412.57.
Forex traders said investors were optimistic about the US-China trade talks.
The appreciating rupee and mixed leads from other Asian markets too influenced sentiment, traders said.
Forex traders said the Indian rupee gained ground on the back of stable crude oil prices and a weaker dollar index.