With over 98% of the vote counted, United Russia a pro-Putin party led by cabinet ministers won 37.1%, leaving its rivals far behind, Central Election Commission chairman Alexander Veshnyakov said.
The Communists were next, with 12.7%, followed by the party of flamboyant nationalist Vladimir Zhirinovsky the Liberal Democratic Party of Russia at 11.6%.
Homeland, a new apparently Kremlin-approved patriotic group formed to siphon votes from the Communists, had 9.1%, preliminary results showed. Smaller parties accounted for the rest.
Putin, speaking on television, called the elections "another step in strengthening Russia's democracy".
But international observers delivered a blistering assessment of the vote, calling it free but not fair. Taxpayer money and state television was used to benefit a few parties, monitors said in their criticism.
The head of the parliamentary assembly for the Organisation for the Security and Co-operation in Europe Bruce George said the ballot "failed to meet international standards".
He was concerned, because of the use of administrative resources and the biased media, legitimate democratic opposition parties would not get the 5% of the vote they need to enter parliament.
The Bush administration joined European officials in expressing concern about the fairness of the elections. "The OSCE monitored the elections and they were concerned about the fairness of the election. We share those concerns," said White House spokesman Scott McClellan.
He said he hoped Russian lawmakers would now "press ahead on a reform agenda and support the United States-Russia partnership".
Russia's two main liberal parties, Yabloko and the Union of Right Forces, known by its Russian acronym SPS, were below the 5% minimum.
Voter turnout appeared lower than past elections, with many Russians disillusioned and uninspired by the generally lacklustre campaign. Two hours before polls closed, turnout was 47.6%, significantly lower than the 53.9% recorded at the same time during the last Duma vote, in 1999.
Nearly 5% of the electorate (2.8 million people) voted to reject all candidates. The protest votes mean that in four constituencies, run-off elections must be held, election officials said.
United Russia's winning more of the 450 seats in the State Duma, the lower parliament house, should make it easier for Putin to push through market-oriented economic reforms he has promised and to cut the bureaucracy that stifles Russian growth.
It would also give Putin a stronger hand as he heads into what seems sure to be a second term after the presidential ballot next March.