TRENTON, N.J. -- The New Jersey Assembly passed legislation allowing for gay nuptials Thursday, a historic vote that sets the Democrat-controlled Legislature up for a fight with Republican Gov. Chris Christie.

The 80-member Assembly narrowly passed the bill in a 42-33 vote largely along party lines, with four absences and one vacancy. No Republicans supported the bill, which Christie had called on his party to oppose, and four Democrats also voted no. The governor has pledge to override the bill swiftly if it comes to his...