Two Republicans opposed the measure and 15 Democrats supported it in the 251-172 vote, Politico reported. The "Protect Life Act" would also ban the government from withholding funds from hospitals and other healthcare institutions that oppose offering abortion.
Republicans said the bill is needed because the Affordable Care Act could lead to federal money going for abortions.
"Simply put, we must end what Obamacare did. We must stop subsidizing abortions with federal taxpayer dollars," Rep. Mike Pompeo, R-Kan. said.
The bill was the first in six months dealing with abortion, The Washington Post said. House Speaker John Boehner, R-Ohio, said it was part of the Republican "Pledge to America."
Most Democrats were critical of the bill.
"Let's be serious here. Republicans have yet to pass one single jobs bill. ... The Protect Life Act is unnecessary and clearly is politically motivated," U.S. Rep. Alcee Hastings, D-Fla., said. "Republicans are resorting to their old bag of tricks and pulling the abortion card in order to distract from their clear lack of leadership."