The Sensex and the Nifty rallied about 1.2 per cent at the closing session on heavy buying by funds and retail investors ahead of second quarter GDP data amid firm European cues.
The Sensex ended at 20,791.93, up 257.02 points or 1.25 per cent, while the Nifty ended at 6,176.10, up 84.25 points or 1.38 per cent.
All BSE sectoral indices ended in the green. Among them, banking, PSU, capital goods and metal led the Sensex rally and were up 2.21 per cent, 1.88 per cent, 1.79 per cent and 1.76 per cent, respectively.
SSLT, BHEL, SBI, Cipla and ICICI Bank were the top five Sensex gainers, while the top five losers were M&M, Hero MotoCorp, Wipro, NTPC and Tata Steel.
European stocks were up as investors awaited a report on unemployment in the euro area. Most Asian shares were down.