Trading range-bound and volatile for most of the session, key indices ruled positive on domestic cues.
Cabinet on Wednesday cleared changes in the GST Constitutional Amendment bill, indicating progress on its passage, while strengthening rupee against dollar and better corporate results lifted sentiment.
US Federal Reserve's decision to keep interest rate unchanged this year bolstered confidence on good FIIs inflows in Indian equities. Market players opted for hectic short covering and heavy fag-end buying, which led the indices to end in green.
Automaker Maruti Suzuki India gained 4.51 per cent after it announced plans to have 250 Nexa outlets by March.
More From This Section
Elsewhere, Asian stocks ended mixed, while European markets were trading lower, weighed down by some weak corporate updates.
The 50-share Nifty resumed higher at 8,636.95 and moved between 8,674.70 and 8,625.25 before closing at 8,666.30, showing a gain of 50.50 points, or 0.59 per cent.
This is the highest closing since April 16 last year, at 8,706.70.
Buying was led by FMCG (1.77 per cent), realty (0.97 per cent), auto (0.79 per cent), pharma (0.40 per cent), energy (0.45 per cent), financials (0.53 per cent) and bank (0.29 per cent).
Notable losers included Tech Mahindra (3.71 per cent), Tata Steel (3.64 per cent), Aurobindo Pharma (1.93 per cent), L&T (1.55 per cent) and Adani Ports (1.51 per cent).
A total 893 stocks advanced, 704 advanced, while 71 ruled stable.
Turnover in cash segment jumped to Rs 29,920.74 crore from Rs 24,098.18 crore yesterday.
A total of 15,354.94 lakh shares changed hands in 88,78,159 trades. The market capitalisation of NSE stood at Rs 10,675,727 crore.