Among the sectoral indices, IT and FMCG stocks were the biggest losers. At 3 pm, Nifty IT was down 1.76 per cent and Nifty FMCG was down 0.33 per cent.
Earlier, the Sensex rose as much as 159 points to hit an intraday high of 34,077. The Nifty50 gained 57 points to touch 10,478. In late morning deals, the Nifty Bank - an NSE sub-index of banking stocks - rose around 1 per cent.
Gains were restricted by a weak trend in the other Asian markets following Wall Street.
Government data post-market hours on Monday showed retail inflation cooled off to a four-month low of 4.4 per cent in February while factory output rose to 7.5 per cent in January. While cheaper food articles and lower cost for fuel pushed consumer inflation lower, industrial output spurted due to a good show by manufacturing coupled with higher offtake of consumer and capital goods.
Retail inflation or Consumer Price Index-based inflation came in at 4.4 per cent in February, easing for a second straight month, as against 5.07 per cent in January, government data showed. Analysts polled by news agency Reuters had predicted February's rate to ease to 4.8 per cent from 5.1 per cent in January. Forecasts ranged from 4.4 per cent to 5.6 per cent.
The Reserve Bank of India, which has kept rates steady since a 25-basis-point cut in August, is widely expected to maintain rates at their current level next month. In its February 7 policy statement, the RBI kept the repo rate - the key rate at which the central bank lends to other banks - unchanged at 6 per cent.
Factory output - determined by the Index of Industrial Production (IIP) - at 7.5 per cent in the month of January was higher than 3.5 per cent in the corresponding month of 2017, separate data showed.
On a net basis, foreign portfolio investors (FPIs) bought shares worth Rs 374.65 crore while domestic institutional investors (DIIs) sold shares worth Rs 464.59 crore on Monday, provisional data showed.
At 10:48 am, the BSE Sensex was trading 104 points higher at 34,022 while the NSE Nifty was up 37 points at 10,458. 37 stocks on the 50-scrip NSE Nifty were trading in the positive zone.
(With agency inputs)