President Juan Manuel Santos hailed it as a "the first step towards the consolidation of peace" with the left-wing Farc guerrilla group.
The amnesty is part of a revised deal agreed after the original pact with the Farc was rejected in a popular vote.
The conflict has killed more than 260,000 people and displaced millions.
The law will offer freedom from prosecution for some junior members of the Farc, the country's largest rebel group - and for some army soldiers. But in both cases they must only be accused of minor crimes.
Thousands of guerrilla fighters who are accused of minor crimes stand to be pardoned under the law.
The original peace deal, rejected at a referendum on 2 October, was seen by many as too lenient towards the rebels.
The government and the Farc then went back to the negotiating table to try to strike a new deal acceptable to those who had voted "no".
The main amendments included:
- The Farc will have to declare all their assets and hand them over. The money will be used for reparation payments for the victims of the conflict
- Concerns by religious groups that the agreement undermined family values have been addressed
-A time limit of 10 years has been set for the transitional justice system
-Farc rebels will be expected to provide exhaustive information about any drug trafficking they may have been involved in
The peace agreement will not form part of Colombia's constitution
The House of Representatives and the Senate overwhelmingly approved the amnesty law on Wednesday.
The revised peace deal was ratified by Congress on 1 December. It is not due to be submitted to a popular vote.
Mr Santos has been awarded the Nobel Peace Prize for his part in the negotiations.
BBC News |