The upper house, which is controlled by the ruling right-wing Law and Justice (PiS) party, passed the controversial Holocaust bill by 57-23 with two abstentions, despite demands by Israel that it be changed.
Those found guilty under the legislation could receive a fine or a three-year prison sentence for using the term "Polish death camp" to refer to concentration camps built on Polish soil by Nazi occupiers. Accusing Poland of involvement in the Third Reich's atrocities would also be illegal.
Defending Poland against 'insults'
The Warsaw government insists the new law is designed to defend Poland's reputation following widespread historical inaccuracies, but says that scientific research into the war will be exempted.
"We have to send a clear signal to the world that we won't allow Poland to continue being insulted," Patryk Jaki, a deputy justice minister, told reporters in parliament.
Thursday's Senate approval follows a similar blessing by the lower house of parliament last week.
Read more: Poland enlists Interpol in hunt for Nazi war criminals
Israel concerned about Holocaust denial
The contentious law has caused a diplomatic spat with Israel, which complained that it could deny the responsibility of some Poles in crimes against Jews, even in cases where their guilt has already been proven.
Israeli Prime Minister Benjamin Netanyahu said at the weekend that the Jewish-majority state had "no tolerance for the distortion of the truth and rewriting history or denying the Holocaust."
Ahead of the Polish vote, Israel's parliament, the Knesset, debated amendments to its own law on Holocaust denial, so that denying or minimizing the involvement of the Nazis' helpers and collaborators will also be a crime.
Poland ignored calls from Washington to drop the bill, amid worries that it "could undermine free speech and academic discourse."
President likely to sign
Polish President Andrzej Duda now has 21 days to sign or veto the bill, but declared earlier this week: "We absolutely can't back down; we have the right to defend the historical truth."
Read more: Eastern Europe fails pledges to return Jewish property, says study
Nazi Germany occupied Poland from September 1939 until 1945 when Soviet forces liberated the country.
Poland suffered immense losses under Nazi occupation with an estimated 1.9 million non-Jewish civilian deaths. Its Jewish community of 3.2 million, one of Europe's largest at the time, was nearly decimated. According to Yad Vashem, only 380,000 survived.
mm/jm (AFP, dpa, Reuters)