The amendment, drafted by leftist Prime Minister Robert Fico's Smer-Social Democraty party and the opposition Christian Democrats, was backed by 102 lawmakers while 18 voted against it.
The amendment required a two-thirds majority in the 150-member parliament.
"The marriage amendment will not bring about any drastic changes, it only seals in the constitution what is already defined by law," said Fico, whose Smer is a member of the traditionally liberal Party of European Socialists group in the European Parliament.
The European Union's newest member Croatia outlawed same-sex marriage in a referendum last year, triggering a similar constitutional amendment, but swiftly passed a civil union law for same-sex couples.
No form of same-sex civil union is legal in Slovakia, where more than 70 percent of the population of 5.4 million is Christian, according to a 2011 census.
But a 2012 opinion poll showed that 47 percent of Slovaks supported civil unions for same-sex couples while 38 percent were opposed.
"It's scandalous that Smer, a social-democrat party, supported this amendment, going against the EU trend to make different types of families equal," Romana Schlesinger from the Queer Leaders Forum NGO told AFP.
"You don't make marriage more attractive by banning all the alternatives," Martin Macko, head of the LGBTI Initiative "Inakost" added.
"The number of unmarried couples living together will continue to grow, including same-sex couples that have been part of society for a long time but without any legal recognition."
Same-sex marriage is legal in a handful of the 27 other EU states including Britain and France, while civil unions are recognised by the Czech Republic, Germany and others.