The central bank, before the market opened, left policy rates unchanged for a third straight month, as expected, saying inflation was expected to ease and reach more favourable levels by the end of the year.
The main share index rose 0.2 percent, or 11.37 points, to 5,691.39, its highest since Feb. 22.
The central bank's decision on rates came after yields on treasury bills reversed their falling trend on Wednesday for the first time in 13 weeks.
The day's stock market turnover was 1.21 billion rupees ($9.51 million), compared with a daily average this year of 1.05 billion rupees.
Foreign investors were net buyers of 206.1 million rupees, extending year-to-date foreign inflows to 2.73 billion rupees.
The rupee ended firmer at a three-week closing high of 126.50/60 to the dollar compared with Thursday's finish of 127.05/15, due to dollar sales by banks and exporters on expected foreign inflows to the stock market, dealers said. ($1 = 127.2500 Sri Lanka rupees)
(Reporting by Ranga Sirilal and Shihar Aneez; Editing by Robert Birsel)
(Reuters Messaging: firstname.lastname@example.org)(twitter.com/rangab a)