The Sensex ended 95 points or 0.5 per cent higher at 19,487 while the broader Nifty gained 30 points to close at 5,931. The rupee hit a one-month high of 54.08.
Bahujan Samaj Party, which had abstained in the Lok Sabha, will now support the government's move to allow FDI in retail, which may help tilt the vote in the favour of the government. The government won the vote in Lok Sabha on Wednesday, but is in minority in the Rajya Sabha.
"It's purely sentimental though it puts this issue behind us... This makes way for a slew of legislations to be passed, which will be more positive for markets and sentiments...," Rajesh Baheti, MD of Crosseas Capital Services told NDTV.
Gains were led by a rebound in rate sensitive stocks such as ICICI Bank on hopes of traction in pension and insurance bills after FDI in retail. ICICI Bank closed up 1.4 percent, while Tata Motors ended 2.15 percent higher.
Retail stocks closed with strong gains. Among the big retailers, Shoppers Stop and Pantaloon closed 0.5-1 per cent higher. Both these stocks hit their 52-week high yesterday. Smaller stocks such as Provogue and Cantabil surged 5-7 per cent.
Barring tech stocks all other groups of stocks closed higher on the BSE. Tech stocks closed lower for a third straight day over concerns of muted growth in 2013. New Jersey based-Cognizant's filing with U.S. market regulator showed a dip in expected revenue growth.
HCL Tech, India's fourth largest IT services exporter, was the top Nifty loser. Infosys declined 1.9 per cent. Shares in TCS closed 1.3 per cent lower.
35 of the Nifty-50 stocks closed higher. Jaiprakash Associates was the top gainer, rising 3.8 per cent while Reliance Infra advanced 2.3 per cent.
(With inputs from Reuters)