The state House voted to make New Hampshire the third state to allow gay couples to marry, in addition to Massachusetts and Connecticut.
The bill, passed 186-179, now goes to the Senate, where its future is uncertain. Democratic Gov. John Lynch opposes gay marriage but has not said specifically that he would veto it.
Two years ago, the Legislature approved, and Lynch signed, civil unions for gays, which provide all the rights of marriage, except in name.