The main stock index rose for a third straight session to close 0.48 percent, or 28.44 points, up at 5,962.17, its highest close since Oct. 1, 2012. It rose to as high as 6,005.66 in intraday trading.
Shares have been rising on hopes of a fall in interest rates after Treasury Secretary P.B. Jayasundera and the central bank said official interest rates could ease in May and June.
'Retail activities were high on expectations that the interest rates will come down. That pushed the market up,' said a stockbroker.
The turnover was 1.34 billion rupees ($10.57 million), more than this year's daily average of 966 million rupees.
Foreign investors were net buyers of 327.6 million rupees worth shares, extending the net foreign inflow so far this year to 8.59 billion rupees. Last year, the bourse saw a net inflow of $303 million.
The rupee ended slightly firmer at 126.77/80 per dollar from Wednesday's close of 126.85/90, ending its seven-session falling streak and edging up from its lowest close since March 11, as state banks sold dollars, currency dealers said.
Markets were closed on Thursday for a religious holiday. ($1 = 126.7250 Sri Lanka rupees)
(Reporting by Ranga Sirilal and Shihar Aneez; Editing by Subhranshu Sahu)
(Reuters Messaging: email@example.com)(twitter.com/rangab a)