Police said the incident, which occurred as Israelis celebrated independence day, appeared to be a terrorist attack and they had set up roadblocks to try to catch the assailants who apparently fled the scene.
Elad's mayor, speaking on television, called on residents to stay indoors while security forces were still operating.
The Magen David Adom ambulance service said three people were killed and two others seriously wounded.
There have been a spate of Arab street attacks in Israel in recent weeks. Prior to Elad, Palestinians and members of Israel's Arab minority have killed 15 people, including three police officers and a security guard, in attacks in Israel and the West Bank that have mostly targeted civilians.
Israel has responded with arrest raids in Palestinian towns and villages which have often sparked clashes and brought the number of Palestinians killed by Israeli forces since the beginning of the year to at least 40. The casualties include armed members of militant groups, lone assailants and bystanders.
(Reporting by Ari Rabinovitch, Editing by William Maclean)