Polish President Andrzej Duda has apologised to Jews driven out of the country by the communist authorities in 1968.
Poland regretted the “shameful act”, he said, paying tribute to thousands of Jews who were forced out.
During his speech some protesters shouted “hypocrite” and “shame”, local media report.
Relations with Israel have been tense over a law relating to the Nazi Holocaust in World War Two.
Talking about the events of 1968 in post-war Poland, Mr Duda said: “What a shame, what a loss for the Polish Republic today that those who left – and some who are maybe dead because of 1968 – are not here with us today… I am so sorry.
“The free and independent Poland of today, my generation, is not responsible and does not need to apologise.
“To those who were driven out then… I’d like to say please forgive the Republic, Poles, the Poland of that time for having carried out such a shameful act.”
Before the speech, he laid a wreath in front of the board at the Gdanski Railway Station in Warsaw, which commemorates Poles of Jewish origin forced to leave the country.
What happened in 1968?
An estimated 15,000 people – half the country’s Jewish population – were stripped of their citizenship and kicked out of Poland.
The purge followed nationwide student protests that had begun after a decision to close down a patriotic play by Poland’s national poet, Adam Mickiewicz.
Protests had quickly spread across the country before being crushed with considerable violence.
Many of the students and professors were of Jewish origin and the communist party used this to purge Jews from public life.
Why is there a row over the Nazi Holocaust?
Diplomats from Poland and Israel met in Jerusalem last week in an effort to resolve the row sparked by the Holocaust law, which came into effect last Thursday.
The law makes it illegal to accuse the Polish nation or state of complicity in Nazi war crimes.
Israel says it could criminalise some survivors whose testimony implicates Poles.