The 30-share BSE index came off its early high, but was still up 269.51 points -- 0.81 per cent -- at 33,516.21 at 1128 hours.
For the 50-share Nifty, the reading was above the key 10,300-mark at 10,342.55, a gain of 90.45 points, or 0.88 per cent.
Coal India, which advanced 2.55 per cent, was in the lead. HDFC, Bajaj Auto, Adani Ports and L&T too advanced.
Foreign portfolio investors (FPIs) net bought shares worth Rs 232.17 crore yesterday. But domestic institutional investors (DIIs) offloaded equities to the tune of Rs 374.21 crore.
US stocks closed lower yesterday as a few Senators raised some concerns about the tax bill.