The edible fish fell during a storm and are believed to have been lifted out of a river during a strong wind.
Villagers in the district of Chilaw said they heard something heavy falling and found scores of fish with a total weight of 50kg (110lbs).
It is not the first such incident in Sri Lanka – in 2012, a case of “prawn rain” was recorded in the south.
Scientists say that “fish rain” usually occurs when swirling whirlwinds over relatively shallow water develops into waterspouts and sucks in almost anything in the water including fish, eels and even frogs.
The marine life can be carried long distances by buffeting clouds even when the waterspout stops spinning.
Villagers say that the “fish rain shower” took place on Monday with the creatures falling on the village green, roads and roofs.
Some of the fish – each three to five inches (5cm-8cm) in length – were still alive and were put in a buckets of water by villagers who ate them later.
This is the third time this has happened in Sri Lanka, but not from the same area.
In addition to the reported “prawn rain” of 2012 in the south, there was yellow and red “meteor rain” the same year – a weather development that is reportedly still being investigated by US and British scientists.
Fish is a valued commodity in Sri Lanka.
On Monday the Sri Lankan Daily Mirror reported that a fish trader was robbed of 450,000 rupees ($3,450/£2,030) by four men – one disguised as a policeman – who intercepted his lorry.