Cyclone Freddy, which is on track to become the longest-lasting cyclone on record, slowed its advance towards the southern African nation and was 60 kilometers off the coast on Saturday morning, according to the Mozambique National Meteorology Institute (INAM).
"The system reduced its speed from seven to four kph, thus delaying its entry," INAM said in an update.
"Heavy rains and very strong winds" were affecting the central provinces of Zambezia, Manica and Sofala, it added.
The cyclone was expected to make a second landfall in Mozambique later this weekend, after a first deadly hit in late February.
It was initially forecast to make landfall on Friday night.
"There is already quite substantial flooding," Guy Taylor, a spokesman for the United Nations' children agency UNICEF, told AFP from the seaport of Quelimane, in Zambezia, on Saturday.
Rain and wind had been "on and off" as the cyclone inched closer, he said.
"We saw people with water in their houses, wading through knee-deep water. And that's just with this initial bit of rain."
On Friday, authorities said more than half a million people were at risk.
The storm was forecasted to drop up to 400 millimeters of rain over the next few days, more than twice the usual monthly rainfall.
According to the U.N. World Meteorological Organization (WMO), Freddy, which began life off northwestern Australia in the first week in February, was set to become the longest-lasting tropical cyclone on record.
It crossed the entire southern Indian Ocean and battered Madagascar from February 21, crossing the island before reaching Mozambique on February 24.
Following what meteorologists describe as a "rare" loop trajectory, Freddy then headed back towards Madagascar before moving once more towards Mozambique.
During the first visit it destroyed, damaged or flooded more than 28,000 homes, affecting about 166,000 people.
In total, Freddy has so far killed least 27 people — 10 in Mozambique and 17 in Madagascar.