The Democratic-controlled House passed the bill 290-135, with 40 Republicans backing it. Obama planned to sign it into law later in the day.
The bill calls for spending an additional $32.8 billion on the State Children's Health Insurance Program. Lawmakers generated that revenue by raising the federal tobacco tax.
"President Obama and Congress are demonstrating that change has come to Washington, and we are moving forward to improve the quality of life for American families struggling during these hard times," said Charles Rangel, D-N.Y., chairman of the House Ways and Means Committee.
Republicans criticized the cost of the legislation. They also said it will mean an estimated 2.4 million children who otherwise would have access to private insurance will join the State Children's Health Insurance Program instead.
"The Democrats continue to push their government-run health care agenda — universal coverage as they call it," said Rep. Pete Sessions, R- Texas.
An estimated 7 million children are now enrolled in SCHIP.
To cover the increase in spending, the bill would boost the federal excise tax on a pack of cigarettes by 62 cents, to $1.01 a pack.
The bill's passages has long been a top priority of Democratic lawmakers. In late 2007, President George W. Bush twice vetoed similar bills. The Senate passed the same bill last week. Obama made it a top priority in his first 100 days and one step in his push for universal coverage by the end of his first term.
House passage came one day after Obama's choice for health secretary, Tom Daschle, withdrew his nomination, citing the distraction of his delinquent tax payments.
SCHIP was created more than a decade ago to help children in families with incomes too high to qualify for Medicaid but too low to afford private coverage.
Federal money for the program was set to expire March 31, barring action by Congress.
Republicans said that they supported SCHIP and providing additional money for the program. However, they argued that Democrats were taking the program beyond its original intent and encouraging states to cover middle-class families who otherwise could get private insurance.
"This debate is about, do we want a children's health insurance program that covers every child in America with state and federal dollars regardless of their ability to pay?" said Rep. Joe Barton, R-Texas. "Do we want to freeze out the private sector for health insurance?"
Opponents of the bill also complained that the tobacco tax increase hits the poor the hardest, because they are more likely to smoke than wealthier people. Many also took exception to expanding the program and Medicaid to children of newly arrived legal immigrants.
But supporters said that ensuring children had access to adequate health care was a matter of priorities. Rep. Frank Pallone, D-N.J., said an estimated 4 million people have lost employer-sponsored insurance in the past year.
"Do they keep their families' health insurance or do they put food on the table at night? During this economic recession, these kinds of decisions are unfortunately becoming more common," Pallone said.
The National Alliance for Hispanic Health estimated that more than one-third of the children added to the program will be Hispanics who currently have no health insurance.
Health officials project that there are about 9 million uninsured children in the U.S.
Scores of interest groups threw their support behind expanding SCHIP, including those representing insurers, hospitals and doctors. The American Cancer Society predicted that the tax increase would reduce youth smoking by about 7 percent and overall cigarette consumption by 4 percent.
"The expansion of the SCHIP program will provide millions of uninsured children with critical health care coverage and carry the added health benefit of encouraging millions of people to give up their deadly smoking habit," said John R. Seffrin, national chief executive officer of the American Cancer Society.