The 30-share Sensex ended at 16,070 up 40 points and the 50-share Nifty ended at 4,870 up by 12 points.
The Sensex and the Nifty reached an intra-day high of 16,240 levels and 4,922 mark, respectively.
Meanwhile, the rupee gained on Thursday as global risk assets stabilised globally after a recent selloff. The rupee was at 54.43 to the versus its Wednesday close of 54.51, which was just off the record low of 54.52 to the dollar hit on the same day.
On the global front, the Nikkei share average rose 0.9% on Thursday as upbeat Japanese economic growth data trumped worry about Europe and investors shopped for bargains after Wednesday's market tumble left the benchmark down 14% this quarter.
The Nikkei benchmark slipped 0.4% in the morning, stumbling below a support level at 8,800, but later changed gears to close up 0.9% at 8,876.59. The broader Topix index rose 1.1% to 747.16.
European markets are trading weak with CAC, DAX and FTSE dipping by almost 1% each.
Back home, BSE FMCG index surged by over 2% followed by counters like Realty, Metal and Oil & Gas, all gaining by nearly 1%.
On the losing side, BSE Capital Goods index plunged 2% followed by counters like Consumer Durable and Auto, both dipping by nearly 1% each.
ITC was the top Sensex gainer, up over 3% at Rs 236 on reports that the company has signed an agreement with the Board of Investment of Sri Lanka
Markets end higher led by L&T
Less scope for credit card delinquencies: SBI Cards head
Markets drop on rising inflation
IIP disappointing, weak sentiments hinder recovery: FM
Moody's downgrades LIC, 3 banks