Iran has been firing daily missile salvos at Israel for the past week, since a wide-ranging Israeli attack on the Islamic Republic's nuclear installations and military bases triggered war,
France 24 reports.
At least one projectile appeared to evade Israel's air defences, slamming into an area by the docks of Haifa where it damaged a building and blew out windows, littering the nearby ground with rubble, AFP images showed.
A spokesman for the city's Rambam hospital said 19 people had been injured, with one in a serious condition.
Earlier, Israel's Magen David Adom rescue service reported two people had been injured by falling shrapnel after the attack but did not specify the location.
Israeli President Isaac Herzog said in a statement that Haifa's Al-Jarina mosque "was struck by an Iranian missile, injuring Muslim clerics and worshippers at prayer".
Foreign Minister Gideon Saar later shared a similar message on social media, adding that "the Iranian regime is targeting Muslim, Christian and Jewish civilians, as well as civilian sites. These are war crimes."
A military official said that "approximately 20 missiles were launched towards Israel" in the latest Iranian salvo.
Around 20 minutes after the air raid sirens were activated, the army released a statement saying people were allowed to leave bomb shelters.
Earlier Friday, sirens rang out in parts of the country following another Iranian missile launch.
AFP footage showed police operating in the southern Israeli city of Beersheba, alongside emergency response teams and bomb disposal expert.
Security forces there inspected a crater near residential buildings, where the wreckage of charred cars lay below the mangled metal of destroyed balconies.
The Soroka Hospital in the city was struck on Thursday, injuring 40 people.
Israel, saying Iran was on the verge of developing nuclear weapons, launched a massive wave of strikes on June 13, triggering an immediate retaliation from Tehran.