The bill, sponsored by Minnesota Rep. John Kline, gives states and local school districts more control over assessing the performance of schools, teachers and their students. It also prohibits the federal government from requiring or encouraging specific sets of academic standards, such as Common Core, and allows federal money to follow low-income children to public schools of their choice, an issue known as portability.
The vote was 218-213, with no Democrats supporting the measure and 27 Republicans voting against it. Passage comes five months after conservatives forced GOP leaders to pull a similar bill just before a scheduled vote. This time around, conservatives had indicated they would support the legislation if they had the chance to offer amendments.
Education Secretary Arne Duncan said the bill fails to help struggling schools and the children they teach.
"House Republicans have chosen to take a bad bill and make it even worse," Duncan said in a statement. "Instead of supporting the schools and educators that need it most, this bill shifts resources away from them."
But the leader of the House, Speaker John Boehner, said the measure delivers much-needed education reform by replacing "top-down mandates with conservative reforms that empower the parents, teachers and administrators at the heart of our education system."
The House passed its legislation as the Senate rejected a proposal to turn federal aid for poor students over to the states, which could then let parents choose to spend the money in the public or private school they deem best for their child. The vote was 45-52, short of a majority and 15 shy of the 60 required.
Under current law, the money goes to school districts and generally stays in schools in the neighbourhoods where the children live.
Sen. Lamar Alexander, R-Tenn., said the proposed change would "solve inequality in America by giving children the opportunity to attend a better school."
Sen. Patty Murray, D-Wash., who co-sponsored the bill, countered that the change would "retreat on our fundamental commitment to make sure that every child has access to a quality education."
Earlier in the House, some Republicans joined with Democrats to defeat a conservative-led attempt to let states completely opt out of No Child requirements without forfeiting federal money. That vote was 235-195.
Much like the House bill, the Senate measure also would whittle away the federal government's involvement in public schools.
Both would retain the annual reading and math tests outlined in No Child, but instead would let states — rather than the Department of Education — decide how to use the required assessments to measure school and teacher performance.
Alexander told reporters Wednesday that the House and Senate bills aren't that different, and the goal is to get legislation to President Barack Obama for his signature.
"We're not here to make a political speech. We're here to get a result and fix NCLB," he said.
No Child Left Behind, which expired in 2007, mandated annual testing in reading and math for students in grades three through eight and again in high school. Schools had to show student growth or face consequences. But critics complained that the law was rigid and overly ambitious and punitive, and said there was too much testing.
In 2012, the Obama administration began granting states waivers from meeting some of the requirements of the law after it began clear they would not be met. Forty-two states, Puerto Rico and the District of Columbia have been granted waivers.
Associated Press writers David Espo and Erica Werner contributed to this report.Suggest a correction