The main All Share Price Index rose 1.16 percent (69.68 points) to 6,092.56, while the more liquid Milanka index rose 2.72 percent (37.86 points) to close at 5,310.85, according to stock exchange figures.
Turnover was 827 million rupees.
Trading in John Keells Holdings accounted the the day's biggest turnover with 1.17 million shares changing hands and the stock closing at 174.
90 rupees, down 2.80, after hitting a high of 181.
There was an off-market private deal of 426,206 JKH shares at 175 rupees each, the sole crossing for the day.
Commercial Bank closed at 102.90 rupees, up 2.90, with 434,300 shares traded.
HVA Foods, which was the most actively traded stock, closed at 40.30 rupees, up 1.10, with 860,400 shares done.
Thursday's recovery broke a lengthy fall in the market in which investor sentiment had been worsened by uncertainty over a business expropriation law passed last week that rating agencies warned could hurt the investment climate.
"Notable level of retail activity was witnessed in the market where counters such as Blue Diamonds voting and non-voting, PC House and Tess Agro demonstrated aggressive trading," Lanka Securities said.
Foreign participation stood at 11.9 percent of the total market activity with foreign investors being net sellers with a net outflow of 135.
47 million rupees, they said.