DENVER—A bill moving Colorado’s primaries to June has won final approval in the Senate and now heads to the House.

The Senate voted 32-2 to back moving primaries to the last Tuesday in June, instead of waiting until the second Tuesday in August. Sponsors say the change is needed so Colorado complies with a new federal voting law aimed at giving military and overseas voters more time to cast their ballots.

Two Democrats voted against the change. Democratic Sen. Evie Hudak of Westminster said during a preliminary debate that earlier primaries give incumbent lawmakers less time to campaign.

However, most Democrats supported the change without debate. The measure won final approval 32-2 and now heads to the House. The change would take effect in 2012.