South Islanders have been chilled to the bone by midsummer snow, hail and sleet, but the unusual cold snap should give way to warm, fine weather until Friday.
Forecasters said the cold interruption to summer would be brief, and dry, settled conditions should return this afternoon.
A front which generated wet, cold weather for most of the country yesterday would move off the top of the North Island overnight, leaving only scattered showers on the east coast of both islands.
MetService forecaster Paul Mallinson said temperatures would gradually rise again to around 21C in the North Island.
"Monday is like a recovery day with high pressure building in and showers along the east coast, then it's back to summer on Tuesday and Wednesday, with high pressure settling in."
The fine conditions would begin to fade on Thursday. Mr Mallinson said another front could bring cold air and heavy rain to the South Island, and the cool southerly change would arrive in Auckland on Friday.
But the bad patch of weather should pass by late Saturday, with settled, balmy conditions expected in Auckland for most of the holiday weekend.
The MetService predicted that the 172nd Auckland Anniversary Regatta on the Hauraki Gulf and the third Laneway Festival in Wyndham Quarter would take place in ideal summer conditions.
Northerly winds were expected to drag warm air from the Pacific, pushing the thermostat to 24C.
The improved outlook follows a bizarre weekend in which a fast-moving front saw thermometers drop up to 10C across New Zealand yesterday.
Weatherwatch analyst Philip Duncan said yesterday's set-up was similar to the conditions that caused a snowstorm in August - a high near Tasmania and a deepening low in the Southern Ocean which interacted to create a cold southerly.
Christchurch and Kaikoura fell to 9C during the day yesterday, 14C lower than the average temperature for January.
Christchurch barely climbed above 12C all day.
Mr Duncan said snow settled on Porters Pass in Canterbury and sleet and hail fell on Arthurs Pass.
"People are saying they're lighting fires in Christchurch and getting their heat pumps on - it feels like the middle of winter."
Swimmers can still expect a colder-than-normal dip in the ocean, with coastal water temperatures around 19C - slightly below average for this time of year.
The warmest waters were around the Bay of Islands and Coromandel.
* Today: Early showers, then fine with high of 20C.
* Tuesday: Fine, southwesterly breeze, 21C high.
* Wednesday: Fine, 23C high.
* Thursday: Cloudy periods, fresh westerlies, 23C high.
* Friday: Dry, westerlies, 22C high.
* Saturday: Showers, southwesterlies, 22C high.
* Sunday: Dry, westerlies, 23 high.
* Monday (Anniversary Day): Dry, northerlies, 24C high.