The Sensex was trading 447.34 points, or 2 per cent, higher at 22,791.38 at 1230 hours.
Teck, oil and gas, PSUs, metal and IT shares supported the rally.
The broad-based National Stock Exchange index Nifty also surged by 127.20 points, or 1.91 per cent, higher to trade at 6,787.05.
Brokers said buying by funds and retail investors gathered momentum ahead of results of ongoing Lok Sabha elections and enlarged positions in recently battered sector stocks helped in the Sensex rally.
“Value buying in recently under-performing stocks was also responsible for the broad-based rally,” said a Delhi-based stock broker Deepak Pahwa.
Besides, a firming trend at other Asian markets too supported the upside, they said.
Among other Asian markets, Japan’s Nikkei rose 0.25 per cent, while Hong Kong Hang Seng gained 0.02 per cent.
The BSE banking sector index gained the most by surging 3.23 per cent at 15,407.04 points as stocks of SBI, ICICI Bank, HDFC Bank and Axis bank were trading with gains up to 4.04 per cent, followed by realty index, which rose 2.72 per cent to 1,397.85 points.