The market pulled off a second straight week of gains as the BSE Sensex surged about 170 points to close at over a 3-week high of 26,128.20 on hopes that the government will reach a compromise on the GST Bill in the winter session of Parliament.
On a weekly basis, the BSE Sensex and the NSE Nifty ended higher by 259.71 points, or 1 per cent, and 86.15 points, or 1.09 per cent, respectively.
The gains were led by banking, capital goods, metal, PSU, IT and realty even as the global stocks trended down.
Markets also got a push from the beginning of December series derivatives contracts as participants created fresh bets.
Sentiment perked up further after Prime Minister Narendra Modi invited Congress President Sonia Gandhi and Congress leader Manmohan Singh for tea this evening, during which the GST issue may come up.
The BSE benchmark got a fresh lease of life on frenzied buying and ended higher by 169.57 points, or 0.65 per cent, at 26,128.20 -- a level last seen on November 6.
It has gained 352.46 points in two straight sessions. Also, the broader NSE Nifty regained the 7,900-mark to close at 7,942.70, a rise of 58.90 points, or 0.75 per cent. It logged an intra-day high of 7,959.30 and a low of 7,879.45.
Among sectoral indices, the banking index gained the most by rising 1.86 per cent, followed by capital goods, PSU, IT, metal and realty.
However, consumer durables, oil and gas and auto indices declined by up to 1.38 per cent. Of the 30-pack Sensex, 22 advanced and 8 lost.
Hindalco was the bright spot with a gain of 3.26 per cent, followed by state-owned SBI, L&T, ICICI Bank and Vedanta Ltd.
BHEL, Tata Steel, HDFC Bank, Cipla and Infosys too jumped. In line with the overall trend, mid-cap and small-cap indices ended higher by up to 0.46 per cent.
Globally, Asian stocks turned lower as disappointing Japanese data added to the worries about the health of the world's third-largest economy while Europe was trading down in their early trade.
Meanwhile, foreign portfolio investors (FPIs) net sold shares worth Rs 398.10 crore yesterday, as per provisional data released by stock exchanges.