House members voted 220-215 for a $1.1 trillion, 10-year plan to extend health coverage to 36 million Americans.
The bill stipulates that all Americans have to obtain health insurance and creates a government-backed insurance plan, popularly known as a 'public option'.
Republicans have been united in their opposition to the bill and have said that, if it was passed, it would open the door for an expensive government takeover of healthcare.
"Thanks to the hard work of the House, we are just two steps away from achieving health insurance reform in America. Now the United States Senate must follow suit and pass its version of the legislation," Obama said in a statement after the vote.
"I am absolutely confident it will, and I look forward to signing comprehensive health insurance reform into law by the end of 2009," he said.