Beslutet om att samkönade par ska kunna gifta sig och adoptera barn togs av landets författningsdomstol redan i juli, och på tisdagen klubbades beslutet i parlamentet.
– Vi erkänner rättigheterna för samkönade par som de borde ha haft för länge sedan, säger Simon Maljevac, ansvarig för jämställdhetsfrågor i landets regering.
Lagen antogs med 48 röster för, 29 mot och en nedlagd.
Totalt 18 europeiska länder har legaliserat samkönade äktenskap.