The main share index ended 0.17 percent or 9.50 points firmer to 5,735.61, from its lowest since Jan. 2.
Turnover was 300.09 million rupees ($2.36 million), the lowest since Dec. 31 and well below this year's daily average of 1.06 billion rupees.
"Foreign buying in Keells pushed the market up but many investors are on the sidelines awaiting direction on interest rates and the rupee," said a stockbroker who declined to be identified.
The IMF said last week the economy faced high inflation and lower tax revenue risks, prompting speculation the government may turn to expensive commercial borrowing to bridge a budget gap.
Shares in John Keells Holdings rose 0.64 percent to 236.50 rupees.
Foreign investors bought a net 94.2 million rupees worth of shares, most of them in Keells, but they have been net sellers of 744.36 million rupees worth of rupees this year.
The rupee ended weaker at 127.30/45 to the dollar from Thursday's close of 127.15/20, on light importer dollar demand, dealers said.
($1 = 127.1000 Sri Lanka rupees)
(Reporting by Ranga Sirilal and Shihar Aneez; Editng by Robert Birsel)