Benchmark Nifty gained by 70 points to end at 9.657.55 following across-the-board buying, led by metal, infra, banking and energy stocks.
But mild selling in realty and pharma stocks capped some gains. The Nifty hit its highest intraday level of 9,673.30 in more than one week.
Positive global cues and RBI's move on big loan defaulters helped indices to rose further.
In overseas markets, European stocks were trading higher on broad-based gains led by commodity shares and retailers. Asian stocks ended trading higher as markets geared up ahead of Brexit negotiations between the UK and the European Union.
The NSE 50-share Nifty index opened higher at 9,626.40 and hovered between 9,673.30 and 9,614.90 before finishing at 9,657.55, a rise of 69.50 points, or 0.72 per cent.
It saw an intra-day movement of about 58.40 points.
Sector-wise, metal rose 1.75 per cent, financial service 1.04 per cent, bank 1.02 per cent, infra 0.99 per cent, private bank 0.97 per cent, energy 0.76 per cent and PSU bank 0.67 per cent.
However, pharma and realty eased by 0.38 per cent and 0.31 per cent, respectively.
The broader indices performed in contrary to the front- line indices, as the Nifty mid-cap and small-cap indices traded almost flat, eased by 0.03 and 0.23 per cent, respectively.
Major index gainers were Tata Steel (3.51 per cent), Hindalco (2.87 per cent), Adani Ports (2.93 per cent), Vedanta (2.15 per cent), Bosch (2.41 per cent), Larsen & Toubro (1.87 per cent), Axis Bank (1.48 per cent) and Powergrid (1.41 per cent).
Losers included Infosys (1.11 per cent), Eicher Motors (1.05 per cent), BPCL (0.99 per cent), Dr Reddy (0.94 per cent), Yes Bank (0.87 per cent) and ONGC (0.69 per cent).
A total of 953 scrips declined, 736 advanced, while 81 remained unchanged.
Total securities that hit their price bands were 122.
Turnover in the cash segment fell to Rs 20,059.70 crore from Rs 27,168.65 crore last Friday.
A total of 9,421.61 lakh shares changed hands in 77,25,234 trades.
The market capitalisation of listed firms on the NSE stood at Rs 1,25,78,739.28 crore.