The frigid air barrelling through north India plummeted temperatures to season's lowest in Delhi and neighbouring states on Saturday with many places recording a minimum of below two degrees Celsius, as dense fog reduced visibility and disrupted air, rail and road traffic.
The cold wave was not expected to relent until the New Year.
The India Meteorological Department has issued a red-colour warning for Punjab, Haryana, Delhi, Rajasthan, Uttar Pradesh and Bihar, and amber-colour warning for Madhya Pradesh for Sunday. A red-coded warning is given for extreme weather events.
Authorities were forced to divert four flights from Delhi airport to other destinations. An airport official said pilots were operating under CAT-IIIB conditions, meaning the runway visuality range (RVR) was between 50-175 metres.
A railway official said 24 trains were delayed by 2-5 hours due to poor visibility, including the Howrah-New Delhi Poorva Express.
In Haryana's Rewari district, two people died and 12 were injured in a pile-up of 15 vehicles on Delhi-Jaipur highway due to dense fog.
The minimum temperature in many places in Haryana and Punjab were recorded 5-7 notches below the normal. Hisar was the coldest place in the two states at 0.2 degrees Celsius.
Several places in Uttar Pradesh also shivered as the mercury dipped to below two degrees Celsius. Muzaffarnagar was the coldest place recorded in the state, where mercury fell to 1.7 degrees Celsius, followed by Aligarh, which reeled at 1.8 degrees Celsius.
Delhi's Safdarjung Observatory, whose reading is considered the official marking for Delhi, recorded the minimum temperature at 2.4 degrees Celsius Saturday morning. The same temperature was recorded on December 30, 2013. Before that the coldest day in Delhi this month was December 11, 1996, when the minimum was 2.3 degrees Celsius.
The mercury plunged to even below two degrees Celsius in some areas of Delhi, which is on its way to record its second-coldest December since 1901, according to the weather department.
People huddled around bonfires lit up near street sides and other open spaces. Fewer people were seen at India Gate, despite the day being a weekend.
Several parts of Jammu and Kashmir and Ladakh also reeled under the cold wave as water supply lines and parts of the famous Dal Lake froze in Srinagar. The city recorded the coldest night of the season at minus 5.8 degrees Celsius; it was minus 5.6 degrees Celsius the previous night.
The Met department has forecast rain and snowfall in Kashmir on New Year's Eve, that is likely to give respite to people from the cold wave.
The mercury in Leh and Drass in Ladakh plummeted to minus 19.1 degrees Celsius and minus 28.6 degrees Celsius respectively, a Metrological Department official said in Srinagar.
Many areas in Himachal Pradesh, including Kufri, Manali and Solan, recorded temperatures below the freezing point. The state's lowest temperature for the day was recorded in Keylong at minus 11.5 degrees Celsius. Snowfall is likely in hills between December 31 and January 2.
Fatehpur in Sikar district of Rajasthan recorded the lowest temperature in the state at minus 4 degrees Celsius. Sikar and Mount Abu recorded a minimum of minus 1 and minus 1.5 degrees Celsius.
A weather department official said in Jaipur the cold wave is likely to continue for another 24 hours. The department forecast ground-frost conditions in several districts, besides dense fog.
Cold conditions persisted in most parts of Odisha too, with Sonepur town recording the season's lowest temperature in the state at four degrees Celsius.
The IMD has forecast that similar conditions will prevail across the state for next 2-3 days.
"Minimum temperatures across Odisha have witnessed a sharp dip. They were markedly below the normal at some places in North Interior and South Interior Odisha and the coastal parts of the state," it said in a bulletin.
There is also a possibility of light to moderate showers in some parts of interior Odisha for three days from January 2, it said, adding the temperatures may further dip after the rain.
The cold wave also swept Kutch district, with Naliya in Abdasa tehsil recording the state's lowest temperature at 3.6 degrees Celsius.