The rebel leader Timoleon Jimenez, known as Timochenko, apologised to "all the victims of the conflict" and was greeted by cheers and applause.
He said: "I would like to ask for forgiveness for all the pain that we have caused during this war."
The UN Secretary-General Ban Ki-Moon, second from left, and the rebel leader Timochenko, right, watched as the president signed the historic deal
Guests dressed in white at the ceremony in Cartagena, to symbolise peace.
The last of the major Cold War conflicts killed 260,000 people and left more than six million internally displaced.
President Juan Manuel Santos said: "Colombia celebrates, the planet celebrates because there is one less war in the world.
We will achieve any goal, overcome any hurdle and turn our nation into a country we've always dreamed of - a country in peace."
Timochenko said the Farc, which began as the armed wing of the Communist Party in 1964, is leaving armed conflict behind and moving in to peaceful politics.
"We are being reborn to launch a new era of reconciliation and of building peace," he said.
"Let us all be prepared to disarm our hearts."
The president and Timochenko used a pen made from a bullet to sign the deal.
Related news :