The BSE Sensex gained 80 points on Tuesday, up for the fourth session in a row to reach 3-week high of 18,492.45, on continuing FII inflows amid a positive trend in the global markets.
Besides, brokers said, short-coverings ahead of the settlement of this month's derivative contracts on Thursday pushed up the market.
Foreign Institutional Investors (FIIs) - key players behind the on-going rally, have bought shares nearly worth Rs 2,953 crore in three sessions since June 23, analysts said.
The Bombay Stock Exchange 30-share barometer touched a high of 18,527.45 soon after opening trade, but dropped to a low of 18,323.44. Later, it moved in a narrow range to settle at 18,492.45, up 80.04 points or 0.43%.
It had gained 862 points in the last three sessions.
The NSE 50-issue Nifty also improved by 18.70 points or 0.34% settle at 3-week high of 5,545.30.
HDFC, Hindalco, L&T, BHEL, Bajaj Auto, Bharti Airtel, ICICI Bank and SBI supported the rally.
"FII inflows have partly powered this rally, while the Government's move to hike fuel prices has been greeted with cheer. Globally too, things haven't really got worse, with Greece, in all probability looking like averting a default," said Amar Ambani, Head of Research, IIFL.
Asian and European stocks ended mixed, with upward bias.