The “Jewish nation state” bill downgrades Arabic as an official language and says advancing Jewish settlement is a national interest.
It also states that the “whole and united” Jerusalem is its capital.
Israeli Arab MPs condemned the legislation but Prime Minister Benjamin Netanyahu praised it as a “defining moment”.
The bill, backed by the country’s right-wing government, says “Israel is the historic homeland of the Jewish people and they have an exclusive right to national self-determination in it”.
It was passed after a stormy session in the Knesset that lasted more than eight hours. Sixty-two MPs voted for the bill, with 55 against.
However some clauses were dropped following objections by Israel’s president and attorney-general, including a clause that would have enshrined in law the creation of Jewish-only communities.
Israeli Arabs make up about 20% of Israel’s population of about nine million people.
They have equal rights under the law but have long complained of being treated as second-class citizens and say they face discrimination and worse provision of services such as education, health and housing.
Arab MP Ahmed Tibi said the bill’s passing represented the “death of democracy”.
Adalah, an Arab rights non-governmental orgnisation, said the law was an attempt to advance “ethnic superiority by promoting racist policies”.
Last week Mr Netanyahu defended the law, saying: “We will keep ensuring civil rights in Israel’s democracy but the majority also has rights and the majority decides.”