The Senate vote is set for Monday. The House passed the bill 75 to 59 on Thursday after a debate of more than three hours that grew emotional at times. As lawmakers shared personal stories of gay friends and family members, hundreds of demonstrators on both sides of the issue sang, chanted and waved signs outside the chamber.
Local lawmakers cast votes along party lines. Democrat Gene Pelowski voted yes on the bill while Republicans Greg Davids and Steve Drazkowski both voted no.
Four Republicans crossed party lines and voted yes, but the bill had enough Democratic votes to pass without them.
The bill is also expected to pass in the Senate, and Gov. Mark Dayton says he'll sign it. That could happen as soon as Tuesday. The bill sets Aug. 1 as the day that gay couples could start getting married in Minnesota.