Foreign aid has begun arriving in Sri Lanka, bringing help to half a million people who have been driven from their homes by heavy rains and deadly landslides, as floodwaters subsided slightly, officials said.

The Sri Lankan Foreign Ministry said an Indian Air Force plane carrying emergency supplies had arrived in Colombo while two Indian naval ships were also expected at the port in the capital.

Floodwater levels in parts of the capital subsided a little overnight on Saturday, disaster officials said, but not enough for anyone to move back to their homes on the banks of the Kelani river.

"Colombo did not receive any significant rain last night and the water levels of the Kelani went down slightly," Disaster Management Centre (DMC) spokesman Pradeep Kodippili said.

"But there were showers upstream and we are worried that the water levels can rise again in a day."

Three people have been killed in flood-related incidents in Colombo and the national toll stands at 64 dead and 29 injured.

The heaviest rains in a quarter of a century, caused by Cyclone Roanu, have pounded Sri Lanka since last weekend, triggering huge landslides that have buried some victims in up to 15 metres of mud.

Food, essentials taken to stranded residents

The Indian Government has provided aid including inflatable boats, outboard motors, diving equipment, medical supplies, electricity generators, raincoats, umbrellas and sleeping bags, officials said.

The Sri Lankan Navy and Air Force took stranded residents to safety as well as bringing food and other essentials for the few who remained in their homes.

President Maithripala Sirisena urged Sri Lankans to provide shelter and donate cash or food as offers of assistance came in from overseas.

Sri Lankan flood victims carry food parcels and drinking water through flooded Colombo. ( Lakruwan Wanniarachchi: AFP )

Officials said there had been a huge outpouring of sympathy for the flood victims and they received donations of food and clothing as well as dry rations.

The DMC said 22 of Sri Lanka's 25 districts had been affected.

Around 300,000 people have been moved to shelters while a further 200,000 were staying with friends or family.

"Our information is that about half a million people have been driven out of their homes," Finance Minister Ravi Karunanayake said.

200,000 evacuated from capital

The meteorological department said the rains have been caused by a depression in the Bay of Bengal, ahead of the arrival of the south-west monsoon.

The DMC said about 200,000 people had been moved from the low-lying capital, which has a population of about 650,000.

The district of Kegalle, about 100 kilometres north-east of Colombo, has been the worst hit, with the toll from two separate landslides rising to 34.

Another 144, including 37 children, have been reported missing since Tuesday's disaster.

Deadly cyclone hits Bangladesh coast

Cyclone Roanu struck the coast of Bangladesh on Saturday, killing at least six people after lashing India's east coast with heavy rain and wind.

Bangladeshi authorities relocated more than 500,000 people into shelters as the cyclone made landfall, packing winds as strong as 88 kilometres per hour.

"We've shifted most of the people who are vulnerable," Disaster Management and Relief Minister Mofazzal Hossain Chowdhury Maya said.

"All-out preparations are in place to tackle the damage".

Disaster authorities have shut down sea and river ports and ordered fishing trawlers not to go out, while the meteorological department warned of landslides in south-eastern hill districts.

AFP