The House of Representatives voted Thursday to allow Puerto Ricans to decide their own political future and relationship with the United States.
The vote was 223 to 169. Rep. Louise Slaughter, D-N.Y., voted present.
The bill introduced a two-step ballot measure for Puerto Rico to decide if its residents want to change their current relationship with the United States. If they vote to change their status, they can then choose to become a state, pursue independence, or seek some other "political association between sovereign nations."
Proponents say the measure gives citizens of the island the right to self-determination. Critics say the measure is a device to impose statehood on a population that doesn't want it. Thursday's action was nonbinding, and if Puerto Ricans eventually select statehood, Congress would still have to vote to admit the island to the union as the 51st state.
The issue divided Democrats and Republicans alike as liberal Democrats with ties to Puerto Rico teamed with conservative Republicans to oppose the measure.
The chasms were particularly stark among members of the House Republican leadership team. House Minority Leader John Boehner, R-Ohio, voted against the legislation. Meantime, House Minority Whip Eric Cantor, R-Va., and Republican Conference Chairman Mike Pence, R-Ind., voted in favor.
Puerto Rico Gov. Luis Fortuno (R) cobbled together more than 50 Republican sponsors in favor of the package.
But there was drama as the majority Democrats narrowly avoided an upset on the House floor.
Republicans attempted to add provisions to the legislation that would have made English the official language of a potential Puerto Rican state.
Republicans also tried to modify the bill by banning any infringement of the Second Amendment in Puerto Rico.
The Democratic majority defeated the GOP effort, 198 to 194.
Fox News' John Brandt contributed to this report.