Pharma stocks were galvanised by a slew of approvals granted by foreign regulators, while HDFC Bank zoomed to its 52-week high after RBI yesterday allowed foreign investors to increase stake in the lender.
Sentiment also got a boost after RBI Governor Urjit Patel said India's economic growth will make a "sharp V" recovery after a short drop in the aftermath of demonetisation.
The 30-share BSE Sensex, which opened higher with a gap at 28,670.43, touched a high of 28,726.26 after participants widened their bets on foreign fund inflows amid persistent buying by domestic institutional investors.
However, profit-booking dragged it to a low of 28,410.91, before the gauge finally settled 167.48 points, or 0.59 per cent higher at 28,468.75. Cent. The Sensex last closed at 28,668.22 on September 23, 2016.
The index had gained 145.71 points in the previous session.
The 50-share NSE Nifty, after moving between 8,896.45 and 8,804.25, finally settled 43.70 points, or 0.50 per cent higher at 8,821.70.
For the better part of the day, both the key indices remained in the tight grip of bull operators, forcing bears to remain on the sidelines.
Sun Pharma emerged as the star performer and closed 4.03 per cent up at Rs 675.45, while Cipla rallied 1.58 per cent to Rs 592.60.
"Today's rally was led by banking stocks, particularly backed by HDFC Bank. HDFC Bank stock rose by over 9 per cent in early trade after RBI removed restrictions imposed on foreign investors' holdings," online broking firm Upstox's Director Raghu Kumar said.
Meanwhile, foreign portfolio investors (FPIs) sold shares worth a net Rs 215.69 crore yesterday, as per provisional data.
Globally, Asia and Europe traded lower after Wall Street's Trump-fuelled surge finally came to an end.
Japan's Nikkei fell 0.58 per cent, Hong Kong's Hang Seng shed 0.31 per cent and Shanghai composite declined 0.85 per cent.
In Europe, key indices such as London's FTSE, Paris CAC 40 and Frankfurt fell by up to 0.69 per cent in early trade.
BSE mid-cap and small-cap indices ended 0.53 per cent and
0.40 per cent higher, respectively.
Out of the 30-share Sensex pack, 15 scrips ended higher.
Major gainers were Sun Pharma (4.03 per cent), HDFC Bank (3.75 per cent), Cipla (1.58 per cent), Tata Motors (1.53 per cent), ICICI Bank (1.52 per cent), Gail (1.41 per cent), Lupin (1.23 per cent) and Reliance (0.98 per cent).
However, TCS fell by 1.58 per cent, Hero MotoCorp 1.29 per cent, Infosys 1.21 per cent, Wipro 1.10 per cent, Asian Paints 0.91 per cent and Maruti 0.63 per cent.
Among BSE sectoral indices, healthcare rose by 1.64 per cent, oil&gas 1.38 per cent, finance 1.24 per cent, bankex 1.21 per cent, energy 1.07 per cent, consumer durables 0.45 per cent, utilities 0.44 per cent and industrials 0.42 per cent.
However, IT fell by 1.02 per cent, followed by teck (0.86 per cent), metal (0.68 per cent), telecom (0.30 per cent) and auto (0.06 per cent).
The market breadth remained positive as 1,424 shares ended higher, 1,388 closed lower while 206 ruled steady.
The total turnover on BSE amounted to Rs 3,742.33 crore, higher than Rs 2,618.23 crore registered during the previous trading session.