A benchmark index for Indian equities markets closed more than half a percent in Thursday's trade after the government allowed state-run companies to raise diesel prices periodically.
There was healthy buying in oil and gas, public sector undertakings (PSUs), including all three state-owned oil marketing companies (OMCs), as well as IT stocks.
The BSE Sensex opened at 19,846.42 points and closed at 19,964.03 -- up 146.40 points or 0.74 percent from its previous close at 19,817.63 points.
The BSE Sensex touched an intra-day high of 20,005.98 points and a low of 19,783.41 points.
The BSE midcap index was up 17.57 points, while the smallcap index was marginally lower by 2.53 points.
The wider 50-scrip S&P CNX Nifty of the National Stock Exchange (NSE) closed 37.35 points or 0.621 percent up at 6,039.20 points.
Petroleum and Natural Gas Minister M. Veerappa Moily Thursday said the cabinet had decided to allow OMCs to fix diesel prices from "time-to-time". The move is expected to cut the government's subsidies bill and the fiscal deficit.
The oil and gas index closed 279.80 points higher, followed by the PSU index, up 106.27 points, and the IT index up, 87.13 points.
Among the losers, capital goods index was down 65.76 points and healthcare index ended 12.27 points lower.
The major Sensex gainers were ONGC, up 3.66 percent at Rs.314.50; Reliance Industries (RIL), up 3.40 percent at Rs.889.65; Bharti Airtel, up 3.36 percent at Rs.353.95, Tata Motors, up 2.67 percent at Rs.328.60, and Wipro, up 2.63 percent at Rs.431.10.
The main losers were Cipla, down 2.09 percent at Rs.407.20; ICICI Bank, down 1.39 percent at Rs.1,162.65; Bajaj Auto, down 1.14 percent at Rs.2,051.90; Hindalco Inds, down 0.93 percent at Rs.122.25 and Hero MotoCorp, down 0.92 percent at Rs.1,818.50.
Among other Asian markets, Japan's Nikkei index was up 0.09 percent, while Hong Kong's Hang Seng ended 0.07 percent lower. The Shanghai Composite Index lost 1.06 percent.
In Europe, Britain's FTSE 100 was up 0.12 percent while the German DAX was trading 0.04 percent lower. The French CAC 40 was up 0.93 percent.