The benchmark Sensex on Thursday rose 142 points, extending its winning run to the seventh day, buoyed by gains in HDFC, Infosys and L&T as well as fag-end buying in metal shares after some firms won mines in coal block auction.
Growing expectations of rate cuts after inflation slowed and hopes of a growth-oriented budget also provided support.
Shares of Jindal Steel & Power zoomed by 25.6%, the biggest gain among BSE listed shares on Thursday, after its unit Jindal Power Ltd bagged two coal mines in Chhattisgarh.
Sensex constituent Hindalco also surged 3% after it secured the Gare Palma IV/5 block. Sesa Sterlite jumped 7% as mining and metal firms caught investors' fancy.
HDFC, Infosys, L&T and TCS shares saw moderate rise and helped the Sensex end in the positive terrain. Losses in ICICI Bank, ITC, Tata Motors and SBI weighed.
The BSE Sensex resumed higher at 29,434.91 and shot up further to a high of 29,522.86 on strong buying. It declined afterwards to 29,108.15 on profit-booking in select counters before finishing at 29,462.27, logging a net gain of 142.01 points or 0.48%. In seven days, the Sensex has gained 1,234.88 points or 4.37%.
"Initially, selling pressure in the banking space especially in PSU pack pushed the bulls on back foot. However, buying activity in IT majors alongside recovery in metal and realty space kept the recovery hopes alive," said Religare Securities, President-retail distribution, Jayant Manglik.
Similarly, the NSE 50-share Nifty index firmed up by 26.20 points, or 0.30%, to close at 8,895.30.
In Asia, Japanese stocks settled higher, helped by gains in financial and shipping companies. The Nikkei 225 average was up 0.36%. Indices in Singapore, South Korea and Taiwan moved up by 0.16-0.58%. Chinese markets are closed for Lunar New Year holiday.
Coming back to Indian markets, foreign portfolio investors bought shares worth a net Rs 2,187.96 crore on Wednesday as per provisional data released by the stock exchanges. Domestic Institutional Investors (DIIs) also bought shares worth a net Rs 327.87 crore on Wednesday.