After 12 hours of debate, 50 of Uruguay's 90 deputies voted to overturn the amnesty early Thursday, the BBC reports.
Their vote followed a similar one in the Senate on Tuesday. Now the measure will go to President Jose Mujica for final approval.
He would have to sign it into law before November 1, which is when the statute of limitations on crimes committed under the dictatorship is currently due to expire.
The new law would remove this limitation, allowing victims time to file criminal complaints for human rights violations committed during the 12-year dictatorship.
The amnesty has been in place since 1986.
It gave the president the final say over which cases should be investigated, which led to many being blocked.
The Uruguayan public has twice voted to keep the amnesty in place, first in 1989 and then in 2009.
However, the law has been ruled unconsitutional by Uruguay's Supreme Court.
Repealing it would bring Uruguay closer in line with the Inter-American Court of Human Rights' instructions to investigate dictatorship-era crimes.
Amnesty International hailed Congress's vote as an important step:
"With the approval of this new law, Uruguay’s Congress has taken an historical step forward in the fight against impunity for past crimes. [...]
"All perpetrators of past crimes against humanity should now be brought to justice."
An estimated 7,000 political prisoners were held during the 12 years of military rule and many tortured, says the BBC. Yet a presidential commission established in 2000 found that only 38 people were executed or tortured to death under the dictatorship, states The New Age.
Uruguay's debate comes in the midst of prosecutions of military officers in other Latin American countries.
On Wednesday, Argentina's so-called "Angel of Death", Alfredo Astiz, was found guilty of torture, murder, and forced disappearance during the country's period of military rule in 1976-83, the BBC reports. He has been jailed for life.
More from GlobalPost: Uruguayan troops in Haiti accused of abuse