Despite a veto threat from the president, Democrats used their majority status to push through another of House Speaker Nancy Pelosi's priorities for the first 100 hours of the new Congress. The vote was 255-170, mostly along party lines.
The idea behind the bill is using the sheer size of the Medicare program to generate steeper discounts than private insurance plans can muster.
"Forty-three million people can have the purchasing power to perhaps encourage these drug houses to give the government and the American retirees a better price," said the bill's author, Rep. John Dingell, D-Mich.
However, the bill's prospects dim after Friday's vote. President Bush has said he would veto the bill if it makes it to his desk. He said that competition is already reducing prices for seniors and creating an environment that encourages the development of new drugs.
The Senate has held one hearing on the subject this year, and more are expected, with that chamber likely to take a much longer look at the concept than the House did.
The legislation strikes a clause known as the "noninterference provision," which prohibits the secretary of Health and Human Services from participating in negotiations between drug manufacturers and insurers that sponsor Medicare plans. It would require the secretary to negotiate. Insurers still would be allowed to try for steeper discounts than what the government obtained.
Republicans countered that the drug benefit, which kicked in on Jan. 1, 2006, has cost less than anticipated, and the large majority of seniors and disabled people who use the program are satisfied.
"With all that's right with the program, it seems unwise and unkind to jeopardize its success," said Rep. Michael Burgess, R-Texas.
Democrats have said that savings produced by the negotiations would be used to reduce a coverage gap that is common in many plans. Reducing the gap, known as the doughnut hole, would lower those beneficiaries' out-of-pocket costs.
But Republicans counter that there wouldn't be any savings. Also, the nonpartisan Congressional Budget Office said the legislation was unlikely to result in savings to taxpayers.
The drug program cost about $30 billion in its first year. Insurance companies offer competing coverage plans, and seniors may enroll in the one they like best. The administration announced on Wednesday that 23.5 million seniors had enrolled in stand-alone plans as of Jan. 1.
White House press secretary Tony Snow noted that actuaries at both the budget office and the Department of Health and Human Services say the bill will have little or no effect on federal spending and provide no substantial savings to the government.
"If this bill is presented to the president, he will veto it," Snow said Friday.
Currently, private drug plans negotiate how much they'll pay for the medicine their Medicare customers take. Those plans get a federal subsidy, plus consumers pay for a portion of the medicine.
Dingell said the government can do better than individual insurance companies in getting discounts.
"The president and his Republican allies have argued that this bill would do nothing. Then why, I must ask, would he bother to veto it?" said Dingell, chairman of the House Energy and Commerce Committee.
Twenty-four Republicans voted for the legislation. Rep. Dan. Burton, R-Ind., was one of them. He noted during the debate that Americans pay more for medicine than residents of other countries pay. Also, the government negotiates for other products.
"For us to say we cannot negotiate on pharmaceuticals is just crazy," he said during the debate.
No Democrat voted against the legislation.