The Sensex has ended (provisional) at 146,952 - up 74 points.
The NIfty ended (provisional) up 23 at 5,056.
(Updated at 1531 hrs)
The Sensex has pared most of its gains, and is now up 22 points at 16,896.
The Nifty is up five points at 5,038.
(Updated at 1449 hrs)
The Sensex after touching a high of 16,996 is now firm at 16,955, up 78 points.
Tata Motors continues to lead the list of gainers among the Sensex-30 stocks, has soared 3% to Rs 710. It is followed by Bharti Airtel and Mahindra & Mahindra, up 2.5% each at Rs 325 and Rs 1,043, respectively.
IT stocks like TCS, Wipro and Infosys have added around 2% each at Rs 717, Rs 673 and Rs 2,545, respectively.
Jaiprakash Associates is the only major loser on the BSE-benchmark index, down 1% at Rs 219. SBI, Maruti and Hero Honda are down 0.5% each.
The market breadth is positive, out of 2,828 shares traded, 1,496 have advanced and 1,247 have declined so far on the BSE.
Most of the sectors have recovered like power, banking and oil & gas and are now moving flat. The BSE IT index is the top gainer, up around 2% while the realty index has slipped 1%.