The All Share Price Index closed at 3,844.84, up 12.54 points, while the Milanka index of more liquid shares gained 0.
11 percent (4.74 points) to close at 4,432.80.
Turnover was 2.87 billion rupees, according to stock exchange provisional figures.
"The market held onto positive ground mainly on local interest on hotel sector stocks," Thakshila Hulangamuwa, vice president at stock brokering firm Asha Phillip Securities said.
"We don't expect anything dramatic to happen in the comings weeks until the new government after next month's parliament elections reveals its policies."
About 90 million shares of Hotel Services (Ceylon) Limited, which owns Ceylon Continental Hotel, Colombo changed hands in several large blocks at 21 rupees each. It closed at 23.25 rupees, up 2.25.
Hayleys group said it bought a 51 percent stake in the hotel and would make a mandatory offer to other shareholders.
Janashakthi Insurance closed at 15.00 rupees, up 1.00 with nearly 5.5 million shares traded, brokers said.
John Keells Holdings closed at 169.
00 rupees, up 1.25, and Distilleries Company of Sri Lanka closed flat at 117.
00 rupees.
Commercial Bank of Ceylon closed at 192.
00 rupees, down 1.75, Hatton National Bank closed at 82.
00 rupees, down 1.75, Sampath Bank closed at 241.00 rupees, up 1.75, Nations Trust Bank closed flat at 36.75 and Seylan Bank closed at 46.00 rupees, down 1.00.
Environmental Resources ordinary voting shares closed at 269.
00 rupees, up 4.25. Its 0000 warrants closed at 163.
00 rupees, down 2.00, and 0001 warrants closed at 163.00 rupees, down 1.25.
Sri Lanka Telecom closed at 37.
50 rupees, up 25 cents, and Dialog Telekom closed flat at 7.
00 rupees.