Lawmakers voted 70-10 on Thursday to approve the measure lowering the age at which criminal law recognizes the legal capacity of a person to consent to sexual activity. It was previously 17.
The age of consent for sex in many U.S. states is 16 or older.
The Peruvian measure was written by a member of President Alan Garcia's center-left Aprista party and Garcia is expected to sign it into law.
One supporter of the measure, lawmaker Raul Castro, said the law will bring Peru in line with "the progress and development of a modern society."
"There are young people who get pregnant but they don't go to health centers, fearing that their partners will be arrested and charged," he said.
Some organizations cheered the law, saying it would keep young people out of jail on statutory rape charges.
But Virginia Borra, head of the Ministry of Women and Social Development, said that the law will invite cases of "flagrant rape that can be passed off as a consensual relation."
Maria Pia Hermoza, the coordinator of the Peruvian organization Action for the Children, complained that the law will expose children to sexual abuse.
Rapists will "use consent to evade justice," she was quoted as saying in the Peru21 newspaper Friday. "They will continue using blackmail and threats to rape minors."