However, auto, healthcare and realty sector stocks witnessed profit-booking.
Meanwhile, Foreign Institutional Investors (FIIs) bought shares worth a net Rs 198.53 crore yesterday, according to provisional data from the stock exchanges.
The 30-share index resumed higher at 20,947.00 points, later surged to 21,016.16 and was trading at 21,024.56, up by 77.91 points, or 0.37 per cent, at 1030 hours.
NSE Nifty was also trading higher by 20.55 points, or 0.33 per cent, at 6,242.00 during the period.
Asian stocks were trading mostly lower on Crimean tension and ahead of the National People's Congress annual meeting in China.
Key benchmark indices in China, Indonesia, Taiwan and South Korea fell between 0.14-0.8 per cent while those in Japan and Hong Kong rose in the range of 0.33-0.46 per cent.