The benchmark S&P BSE Sensex surged 3.23 per cent or 644.17 points to 20,606.33 (at 3.20 pm) after marking its highest level since January 4, 2011. The 30-share index, which opened higher at 20,354.73 from the previous close of 19,962.16, surged on all-round buying as the Indian rupee jumped against the dollar after the US Federal Reserve unexpectedly refrained from reducing its stimulus programme.
The broader Nifty is higher 3 per cent after surging as much as 3.3 per cent to its highest level since July 23, 2013.
The NSE bank index gains 6.9 per cent on hopes that the RBI in its policy review on Friday, may ease some of emergency cash tightening steps it had initiated in mid-July.
Brokers said market sentiment turned extremely bullish on a flurry of buying by funds driven by strengthening rupee and a firming global trend after the US Federal Reserve surprised markets by sticking to its massive bond-buying programme.
The rupee surged past the 62 level against the dollar and was quoted at 61.96 per dollar at 1050 hours, compared with yesterday's close of 63.38.
Foreign institutional investors bought shares worth a net Rs 580.13 crores yesterday, 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 per cent.
The stock markets in mainland China, Taiwan and South Korea were closed for a holiday.