A none too positive trend in Asian markets, weakness in European region and caution ahead of Fed's policy meeting rendered the market sluggish.
The Sensex ended at 19,808.66 (provisional) with a gain of 66.19 points or 0.34%.
The Nifty closed at 5850.95, up 10.40 points or 0.18%.
IT stocks surged higher as the rupee traded a bit weak against the U.S. dollar.
Metal, FMCG and automobile stocks too attracted buyers.
Oil, capital goods and pharma stocks ended on a mixed note.
Bank, power and realty stocks traded weak.
Midcap and smallcap stocks were mostly subdued.
The market breadth was slightly weak.