The GOP-led chamber voted 29-21 Thursday, with all Democrats and an independent opposed. The vote followed lengthy debate in the chamber that started Wednesday morning and entered the next day.
The Republican-majority House approved the measure 53-47 about an hour earlier. The bill now heads to Gov. Terry Branstad, who supports the measure.
Legislative leaders used a rare procedural move to end debate early on the bill.