But the Republican minority leader, John A. Boehner of Ohio, said late revisions to the bill were "window-dressing rather than substantive changes."
Throughout hours of debate, several Republican opponents of the legislation said its supporters were trying to ram it through while much of the California delegation was back home because of the wildfires in their state. Ten of the 26 members who did not vote today are from California, and 8 of the 10 are Republicans.
A week ago, President Bush's veto of the original bill was sustained, as the 273-to-156 vote in support of the bill was 13 short of the toll needed to overturn the veto. Forty-four Republicans voted then to override the veto, and the suspense before today's vote was whether the bill's supporters would convert any Republicans. But only 43 Republicans voted for the bill today.
"It's unfortunate that even after a week of meetings and adjustments to the bill at the Republicans' request, they would still apparently prefer to play politics instead of reauthorizing a program the vast majority of the country supports," Representative Rahm Emanuel of Illinois, chairman of the House Democratic Caucus, said after today's vote. "Once again, Republicans have chosen partisanship over pediatrics."
The Senate will probably approve the revised bill next week. There is a veto-proof majority in favor of the bill in the Senate, but today's vote in the House, as well as last week's, signal that it will sustain Mr. Bush's veto again.
If that happens, Democrats said, they may extend the existing insurance program for children through next summer. They would then schedule another vote on the issue in September or October, in the hope of inflicting maximum political damage on Republicans just before the 2008 elections.
Two prominent Republican senators who generally side with the White House, Orrin G. Hatch of Utah and Charles E. Grassley of Iowa, expressed disappointment after this afternoon's vote, underscoring how the children's insurance issue cuts across party politics.
"It's a shame that this legislation, which is even stronger than the compromise legislation passed earlier this month, did not secure a veto-proof majority of support from members of the House of Representatives," Mr. Grassley said.
Mr. Hatch called today's outcome "a lost opportunity for America's low-income, uninsured children" and said he was dismayed that the issue had become such a political battle. "As a result, low-income children will continue to be uninsured," he said. "That is a shame."
The new bill, like the one vetoed by Mr. Bush on Oct. 3, would cost $60 billion over five years, an increase of $35 billion over the current level of spending.
Supporters of the new bill said it addressed all the major concerns that prompted Republicans to oppose an earlier version. The new bill, they said, would end coverage of adults, ban coverage of illegal immigrants and generally prohibit states from covering children in families with incomes above three times the poverty level, or $61,950 for a family of four.
Speaker Pelosi said the restrictions on adults, immigrants and high-income families were clear in the first bill, and "they are even clearer in the second bill."
For the cost of just 41 days of the Iraq war, Democrats said, the government could finance a full year of health care for 10 million children.
But President Bush said his concerns had not been addressed "in a meaningful way," and many Republican lawmakers said the changes were illusory.
"The bill puts lipstick on a sow," said Representative Thomas M. Reynolds, Republican of New York. "Today is raw politics — trotting out a vote just for the sake of a vote."
Representative Ginny Brown-Waite, Republican of Florida, said the State Children's Health Insurance Program would still be a "magnet for illegal aliens." Representative Mike Rogers, Republican of Michigan, said that rich children could still qualify for benefits because states, in determining eligibility, could ignore or disregard part of a family's income.
Representative Tom Price, Republican of Georgia, said the bill still called for a "a massive tax increase" The federal excise tax on cigarettes would be increased to $1 a pack, up 61 cents from the current level.
And Representative Pete Sessions, Republican of Texas, said that under the new bill, as under the original, two million people would lose private health insurance coverage and enroll in the expanded government program.