Congress approved legislation Thursday adding 4 million children to a popular health care program, setting up a veto fight that President Bush probably will win but handing Democrats a campaign issue for next year's elections.

Dozens of Republicans in the Senate lined up with Democrats in voting 67-29 to increase spending on the State Children's Health Insurance Program, or SCHIP, from about $5 billion to $12 billion annually for the next five years.

The vote was enough to override a promised Bush veto. But supporters in the House, which passed the bill Tuesday, are about two dozen votes shy of an override. Both chambers would have to muster two-thirds majorities to win a veto showdown.

Overall, spending for SCHIP would increase to $60 billion over five years in the unlikely prospect the bill becomes law — double what President Bush recommended.

Analysts projected the legislation would allow about 4 million of the estimated 9 million uninsured children in the United States to gain coverage.

Bush and most GOP lawmakers say the spending increase is too large and would expand the program beyond its original intent. That intent was to help families with incomes too large to qualify for Medicaid but not enough to afford private insurance.

Opponents of the measure said they support SCHIP and want to renew it before it is set to expire on Saturday. However, they said they could not go along with such a large spending increase.

Republicans braced for criticism that they were being insensitive to low-income children who are uninsured through no fault of their own. They said the legislation was an effort to score political points and another step toward universal health care paid for by the government.

"Democrats are counting down the hours so they can tee up the election ads saying Republicans don't like kids," said Senate Minority Leader Mitch McConnell, R-Ky. "Meanwhile, they're using SCHIP as a Trojan horse to sneak government-run health care into the states."

Democrats said there was strong public support for expanding the children's health care program. They portrayed the president as isolated in his view that the legislation would be a mistake.

"With each passing day, he reveals ever more clearly that the values of his administration are out of touch with those of average Americans," said Sen. Edward M. Kennedy, D-Mass.

Some Republicans joined in that criticism. Sen. Charles Grassley, R-Iowa, said complaints about the bill bordered on hysteria, particularly complaints that the bill would expand government-subsidized coverage to families of four with incomes of up to $83,000.

"This is not a government takeover of health care. This is not socialized or nationalized medicine or anything like that," Grassley said. "This is not bringing the Canadian health care system to America."