The text, which was renegotiated after an earlier version was given a thumbs down in the October 2 national referendum, now must be approved by the lower house of the Colombian Congress.
Members of the Centro Democratico, the right-wing party that has led the opposition to a peace deal, walked out of the Senate in protest before yesterday night's vote.
The measure then passed by a vote of 75-0.
"Long live peace, long live Colombia," shouted Senate president Mauricio Lizcano as he closed the session.
More From This Section
Colombian voters, however, wary of a deal that goes easy on rebel leaders, dealt an unexpected blow to the process when they voted against it.
The sides returned to the negotiating table in Havana and produced a new version that President Juan Manuel Santos insists takes into account the opposition's objections.
Rather than risk rejection in another referendum, Santos, who won the 2016 Nobel Peace Prize, decided to submit the revised accord to the Congress for approval.
His chief rival, ex-president Alvaro Uribe, has rejected the modified deal.
He demands any new accord be passed by referendum.
The conflict has killed at least 260,000 people and displaced seven million, according to authorities.