The measure passed its third reading Thursday, Russia's RIA Novosti news agency reported. It now goes to President Andris Berzins.
The bill would ban the use of the swastika and hammer-and-sickle emblems and the wearing of Soviet or Nazi uniforms at public events.
Latvia was part of the Russian Empire from 1710 to 1918. During World War II, the country, after 20 years of independence, was occupied first by the Soviets and then by the Germans before becoming part of the Soviet Union for almost 50 years.
The country still has a sizable Russian population. The bill passed by the legislature aims to curb pro-Russian rallies and parades by veterans of the Nazi SS.
Russian officials objected to the Latvian bill. Russia takes the position that the Soviet Army "liberated" Latvia in 1944, while many Latvians believe Soviet leader Joseph Stalin and Nazi dictator Adolf Hitler were both tyrants.
"Equating Soviet and Nazi symbols is pure blasphemy," said Leonid Slutsky, head of the Russian Duma committee on Commonwealth of Independent States affairs.
Putin thinks Obama would save him if he were drowning
Justin Bieber crashes Drake Bell's album release party