The measure needed a two-thirds majority under the suspension of normal rules. The vote in favor of the bill was 220-154, The Washington Post reported.
Rep. Trent Franks' bill would have banned abortions in the district after 20 weeks of pregnancy except to protect the life of the mother. Prior to the vote, the Arizona Republican called late-term abortions "the greatest human rights atrocity in the United States today."
D.C. Democrat Eleanor Holmes Norton was among those opposed to the measure. The congresswoman said those pushing it "have picked on the district to get a phony federal imprimatur on a bill that targets Roe vs. Wade."
"Women have pulled the cover from a bill with a D.C. label, because they know an attack on their reproductive health when they see it," she said.
Nine states have passed "fetal pain" laws similar to the House bill that failed, the Post said.