"The judges affirmed by a majority that marriage between people of the same sex does not violate constitutional order," presiding Judge Maria Victoria Calle told the court on Thursday.
Also read: India gets first marriage bureau for gay
"The current definition of the institution of marriage in civil law applies to them in the same way as it does for couples of the same sex."
Under previous rulings, gay couples could formalise their unions before notaries and judges but it had remained a legal gray area and appeals had been launched against it. The constitutional court had on April 7 dismissed a petition against equal marriage rights for heterosexual and homosexual couples.
That paved the way for Thursday's ruling, which definitively establishes that such equality is guaranteed by the constitution, giving gay couples the legal right to marry.
In July 2010, Argentina became the first Latin American country to legalise same-sex marriage, followed by Uruguay. Brazil has de facto authorised same-sex marriage since May 2013. In Mexico, gay marriage is legal in the capital and a handful of states.
The Supreme Court there has also ruled that that it is unconstitutional for Mexican states to ban same-sex marriage.