ITC rallied 6.46 percent. ICICI Bank, Axis Bank, Infosys, SBI and PNB gained 1-3 percent while ONGC and Bharti Airtel fell more than 1 percent.
The Sensex is up 415.64 points or 1.8 percent at 23417.64 and the Nifty is up 125.65 points or 1.8 percent at 7112.70. About 1035 shares have advanced, 259 shares declined, and 44 shares are unchanged.
The Indian rupee gained 17 paise in the early trade on Tuesday. It has opened at 68.26 per dollar versus 68.43 Monday.
Indian shares are likely to start in the green a day following the Union Budget, even as global equities are trading mixed despite a surge in oil prices.
At the time of writing, the SGX Nifty in Singapore is trading 0.77 percent, or 54 points, higher to 7062.