Israel's military has said it has struck Hezbollah targets in Lebanon, after the Iranian-backed Shia group said it launched rockets and drones at the Israeli city of Haifa to avenge the killing of Iran's Supreme Leader Ayatollah Ali Khamenei.

Lebanon's health ministry said 31 people were killed by Israeli strikes in Beirut's southern suburbs, where Hezbollah has a strong presence, and the country's south.

There were no reports of casualties in Israel from Hezbollah's fire, which the group said was retaliation for Khamenei's "pure blood" and Israeli strikes in Lebanon since a ceasefire ended a war between them 15 months ago.

The Israeli defence minister vowed Hezbollah would pay a "heavy price".

On Monday, Israel Katz said he had ordered the Israeli military to "act forcefully" against the group and that its leader Naim Qassem was now a "marked target for assassination".