The benchmark S&P BSE Sensex surged 601 points on Thursday on all-round buying as the rupee jumped against the dollar after the US Federal Reserve unexpectedly refrained from reducing its stimulus programme.
Bank stocks, including ICICI Bank and HDFC Bank, were winners, while State Bank of India got a boost after raising its lending and retail term deposit rates.
The 30-share index opened higher at 20,354.73 from the previous close of 19,962.16 and climbed to as much as 20,580.57. The Sensex was at 20,562.99 at 1304 hours, up 600.83 points or 3.01 % from on Wednesday.
The NSE 50-share barometer Nifty rose by 193.85 points, or 3.29 %, to 6,093.30.
In a surprise decision, the US Federal Reserve yesterday said it will continue its monthly USD 85 billion bond-buying programme as it waits for more evidence of growth recovery.
Expectations of a tapering in the stimulus programme had led to fears of capital outflows, causing the rupee to depreciate and stocks to fall.
The major gainers included SBI (8.02 pc), ICICI Bank (6.84 pc), Tata Steel (6.08 pc), Maruti Suzuki 5.8 pc) and ONGC (5.63 pc).
The rupee surged past the 62 level against the dollar and was quoted at 61.96 per dollar at 1050 hours, compared with Wednesday's close of 63.38.
Foreign institutional investors bought shares worth a net Rs 580.13 crores on Wednesday, according to provisional data from the stock exchanges.
Asian stocks were higher in early trade, with benchmark indices in Hong Kong, Indonesia, Japan and Singapore rising by 1.54 to 4.5 %.
The stock markets in mainland China, Taiwan and South Korea were closed for a holiday.