Thousands of people evacuated as tropical depression barrels in from the Pacific Ocean, causing widespread floods.
The storm, which is known locally as Ramon, made landfall in the early hours of Wednesday along the Santa Ana-Gonzaga area. It is currently located about 300km (186 miles) to the northeast of the capital, Manila.
It has sustained winds of 100km/h (62 miles/h) with damaging gusts approaching 130km/h (81 miles/h).
Kalmaegi is expected to weaken quickly as it moves overland, before emerging over Lingayen Gulf later on Wednesday, passing over or very close to Cape Bolinao, Pangasinan and into the West Philippine Sea on Thursday.
Even though the winds are expected to ease, heavy downpours and possibly floods will likely continue for a while. Aparri, in the province of Cagayan, recorded 99mm (3.9 inches) on Tuesday.
Further bands, thunderstorms and gusty winds of rain are expected throughout the week across northern and northeastern parts of Luzon, with downpours enhanced by the northeast monsoon.
The remnants of Kalmaegi will then head towards southern Vietnam. It will quickly be followed by Tropical Storm Fung-Wong, known locally as Sarah. Located about 755km (469 miles) to the northeast of Manila, this storm is somewhat weaker with winds of 65km/h (40 miles/h) gusting 80km/h (49.7 miles/h).
Fung-Wong is not expected to hit the Philippines, but another pulse of heavy rain is still likely from the outer bands of the system as it tracks in a general northeasterly direction towards Taiwan this weekend.