There was good buying in metals, capital goods, consumer goods, healthcare and auto stocks.
The 30-scrip sensitive index (Sensex) of the Bombay Stock Exchange (BSE), which opened at 19,293.01 points, closed at 19,364.75 points, up by 120.33 points or 0.63 percent from its previous close at 19,244.42 points.
The BSE Sensex touched a high of 19,396.28 points and low of 19,149.03 points intra-day. The BSE midcap index was up 36.90 points, while the smallcap index edged higher by 43.84 points.
The wider 50-scrip S&P CNX Nifty of the National Stock Exchange was up 38.90 points or 0.66 percent at 5,896.80 points.
The banking amendment bill seeks to raise voting rights of shareholders in private banks and its passage, analysts said, would clear the way for the issue of new bank licences.
The BSE metals index was up 191.06 points. The capital goods index ended higher by 163.80 points. The consumer durables index went up 60.86 points, followed by healthcare index, up 54.93 points, and auto index, up 49.97 points.
However, the oil and gas index was down 17.26 points.
Among the gainers were Bharti Airtel, up 4.23 percent at Rs.313.15; BHEL, up 4.14 percent at Rs.230.10; Tata Steel, up 3.76 percent at Rs.413.95; Hindalco Inds, up 2.66 percent at Rs.127.45; and Sun Pharma, up 2.33 percent at Rs.736.30.
The major losers were Maruti Suzuki, 1.64 percent lower at Rs.1,474.80; ONGC, down 0.87 percent at Rs.256.25; DrReddys Lab, down 0.68 percent at Rs.1,830.75; Bajaj Auto, down 0.45 percent at Rs.2,095.95; and Reliance Industries, down 0.35 percent at Rs.830.95.
Among other Asian markets, Japan's Nikkei was up 0.96 percent, while Hong Kong's Hang Seng was down 0.08 percent. The Shanghai Composite Index closed higher by 0.10 percent.
The European markets were choppy. Britain's FTSE 100 was up 0.40 percent while the German DAX was trading higher by 0.41 percent. The French CAC 40 was down 0.05 percent.