The Government was accused of putting the rights of criminals ahead of protecting the public as its civil liberties measures cleared the Commons.
The Protection of Freedoms Bill, which cuts back the size of the DNA database and reforms the child protection regime, received its third reading by 320 votes to 227, majority 93.
As the Bill completed its passage through the Commons, Home Secretary Theresa May announced that high-risk criminals not currently on the DNA database would be tracked down and added to it.
She said: "This Government is determined to cut crime and reduce the risk of terrorism at the same time as we restore the freedoms and the liberties that define British society."
But shadow home secretary Yvette Cooper condemned changes to the DNA database, which cut the period for which DNA profiles of those who are arrested or charged, but not convicted, are held from six to three years.
She said every year some crimes would be committed by 23,000 people who would have been on the database under Labour. She told Mrs May: "That's 23,000 criminals each year, cases where you want to make it harder for the police to bring them to justice."
There were 17,000 rape suspects "who will be taken off the database straight away as a result of these measures". She also claimed the changes to the "vetting and barring" regime were "creating serious loopholes in child protection."
She told Mrs May: "It is not the Human Rights Act that is putting privacy for child sex offenders ahead of sensible child protection measures. It is not the Human Rights Act that is putting the privacy of rape suspects above action to prevent rape in the future. It is this Government."
But Mrs May gave a staunch defence of the Bill, arguing that Labour had "chipped away" at civil liberties during their 13 years in power. On DNA, she said all convicted prisoners, including hundreds of murderers and rapists, were having samples taken "something that the last Government failed to do".
The legislation now goes to the House of Lords for further scrutiny.