Mr Putin made the apology in a call with Israeli PM Naftali Bennett, his office said in a statement.
Russia's account of the conversation did not mention an apology.
Sergei Lavrov made the initial comments to try to justify Russia's portrayal of Ukraine as "Nazi" despite the fact that its president is Jewish.
Mr Lavrov spoke to Italian TV on Sunday, days after Israel marked Holocaust Remembrance Day - one of the most solemn occasions in the Israeli calendar.
When asked how Russia can claim that it is fighting to "de-Nazify" Ukraine when President Volodymyr Zelensky is himself Jewish, Mr Lavrov said: "I could be wrong, but Hitler also had Jewish blood. [That Zelensky is Jewish] means absolutely nothing. Wise Jewish people say that the most ardent anti-Semites are usually Jews."
The comments sparked outrage in Israel. Nazi Germany murdered six million Jews in the Holocaust in World War Two.
Israel had demanded an apology, with Mr Bennett saying shortly after that "such lies are meant to blame the Jews themselves for the most terrible crimes in history and thus free the oppressors of the Jews from their responsibility".
In Thursday's statement, Mr Bennett's office said that he had accepted Mr Putin's apology and "thanked him for clarifying his attitude towards the Jewish people and the memory of the Holocaust".
Russia said the two discussed the Holocaust, but did not say Mr Putin apologised.
Israel has tried to mediate between Russia and Ukraine, but has also faced criticism for not taking a tougher line against President Putin.
Israeli media this week reported that Israel was considering boosting its military and civilian assistance to Ukraine.