The Washington state Senate has passed a bill that would legalize same-sex marriage, a step seen by proponents as a critical hurdle for legislative approval, even as the threat of a ballot challenge looms.

The measure was passed on a 28-21 vote. Four Republicans crossed party lines and voted with majority Democrats for the measure. Three Democrats voted against it.

The measure now heads to the House, which is expected to approve it. Gov. Chris Gregoire supports the measure and has said she will sign it into law.

Opponents of same-sex marriage promise a referendum battle at the ballot if the bill is signed into law.

Washington state has had a domestic partnership law since 2007, and an "everything but marriage" expansion since 2009.

(Copyright 2012 by The Associated Press. All Rights Reserved.)