Turkey's ruling Justice and Development Party, which has 340 politicians in the 550-seat parliament, was the only party that voted for the amendment.
The change must be approved by the president before it can go into effect.
Turkey's campaign to join the EU has slowed in recent times, partly because of political turmoil within Turkey and Turkish bitterness over what many perceive as EU interference.
Human rights groups said the amendment to the law, which has been used to prosecute Orhan Pamuk, the Nobel laureate, and other intellectuals, did not go far enough.
They have argued that there was a need to change other laws that restrict expression in the country, including Turkey's anti-terror law and its laws on crimes against the national founder, Mustafa Kemal Ataturk.
Emma Sinclair-Webb, from the New York-based Human Rights Watch, said: "It's a deeply disappointing revision."
She said the amendment failed to address "enormous problems with the protection of free speech in Turkey".
The change to the law cuts the maximum sentence from three years in prison to two, possibly suspended for first-time offenders.
The justice minister will have to approve investigation of possible violations of the law.
The new version also bars insults to the "Turkish nation" rather than the more vague "Turkishness" a definition that was used by many prosecutors to clamp down on dissident voices.
Feray Salman of the Ankara-based Human Rights Joint Platform said that the amended law might not be used for a while and that the justice minister might be hesitant to approve prosecutions under its provisions.
Salman also said a change of government could lead to a more vigorous use of the law.
She said: "Political approaches and ideologies may change at any time in the country. Therefore it doesn't protect freedom of expression at all."
In a separate development, Turkey's government has vowed to break up any gathering by unions in Istanbul's main Taksim square on Labour Day.
The government said it would commemorate workers on May 1 for the first time in nearly 30 years, but rejected a union requests for the day be a public holiday and a demand to allow a rally in the square.
Recep Tayyip Erdogan, Turkey's prime minister, said on Wednesday that his government believed "there is ill intention behind this request".
"It is a request geared toward disrupting public order," he said.
A statement from three confederations of labour unions said workers would celebrate May Day at Taksim, although the group Turk-Is later said its leaders would simply lay a wreath at the square.