A "mini tornado" has ripped through a western Sydney suburb, tossing trees, ripping off roof tiles and spearing a trampoline into the side of a house.
Emergency services were called to Chester Hil on Saturday morning after reports of widespread storm damage across the area.
NSW State Emergency Services Commissioner Carlene York said the tornado had affected three streets when it hit at 9am, and left 1000 properties without power.
"I hope it won't happen again, it is an unusual event but that doesn't mean it can't happen again. It is very difficult to prepare for such a spontaneous, significant weather event," she told reporters.
Fire and Rescue NSW said more than 30 homes have been damaged, many partially collapsed, and power had been cut to much of the area.
"Crews are working to remove trees, tarp roofs and conduct rapid impact assessments."
Photos of the damage show a trampoline with its legs impaling the side of a house.
Chester Hill resident Maryanne Tafeuni said a cubby house blew over the top of her backyard and she lost power to her home.
" ... The house felt like it was literally moving and all I can see from the window is leaves, and things together," she told ABC News.
" ... I thought it was just heavy rain but as soon as I heard the crack of the window at the front I knew it was something else so I had to gather the kids and get down because it was moving. The house was literally moving."
The phenomenon was likely caused by intense localised rainfall, the Bureau of Meteorology says.
Meteorologist David Wilkie said their systems picked up strong rotating winds, but the event may not have technically been a tornado.
"It's hard to say exactly what it was."
"Whether or not it reached the kind of threshold you might term a tornado is certainly debatable but ... looking at the damage it was obviously some pretty intense wind gusts that passed over the area."
The freak storm struck as a weather system that has sparked record flooding along the NSW coast headed towards Sydney.
Senior BOM climatologist Agata Imielska said greater Sydney could expect about 100mm of rain over the next 24 hours or so, but the lower Blue Mountains is expected to get 200-300mm.
Major river systems around Sydney are expected to see minor to moderate flooding but major flooding is also a possibility, the bureau warned.
On the mid-north coast, parts of Port Macquarie and several nearby towns have flooded. Evacuation orders are in place in many locations including Port Macquarie and Kempsey.
Further south, Taree is in the grip of a flood rivalling its worst event on record, 92 years ago.