With all but one Republican in support and all Democrats against the measure passed 17-16 on Wednesday. It now heads to the Assembly, which plans to pass it next week.
The bill would limit in-person absentee voting to Monday through Friday, 8 a.m. to 7 p.m. for the two weeks before an election. No weekend voting would be allowed and only 45 hours a week of early voting would be permitted.
Democratic opponents say the bill is designed to make voting more difficult.
Republican Sen. Dale Schultz, who is not seeking re-election, joined all 15 Democrats in voting against it.