The Sensex opened with a positive gap of 25 points at 8,814, but dropped to a low of 8,769 in late morning deals.
Sustained buying across-the-board in noon deals saw the index zoom to a high of 8,960 - an intra-day swing of 191 points. The Sensex finally closed with a gain of 156 points (1.9%) at 8,945.
The Nifty has gained 47 points to 2,699.
Infosys advanced 3% (Rs 83) to Rs 2,767. While Satyam gained over 2% (Rs 15) to Rs 669, Wipro was also up over 2% (Rs 10) at Rs 432. TCS was up 2% (Rs 30) at Rs 1,549.
SBI was up 1.9% (Rs 17) at Rs 914. ONGC gained Rs 13 to Rs 1,043. While Reliance moved up Rs 7 to Rs 840, HLL was up Rs 3 at Rs 185.
ACC zoomed 5% (Rs 25) to Rs 534. Grasim gained 2.6% (Rs 36) to Rs 1,405. Gujarat Ambuja was up over 2% at Rs 83.
Cipla jumped over 4% (Rs 17) to Rs 415. Ranbaxy advanced over 3% (Rs 12) to Rs 397. Dr. Reddy's added Rs 15 to Rs 929.
Tata Motors added over 3% (Rs 17) to Rs 573. Maruti was up Rs 8 at Rs 621.
Reliance Energy gained 5.6% (Rs 33) to Rs 620. L&T zoomed 4% (Rs 74) to Rs 1,767. BHEL was up Rs 29 at Rs 1,455. HDFC, HDFC Bank, ICICI Bank and Hindalco also finished with gains.
More from rediff