The changes are needed to win approval of the new U.S.-Mexico-Canada trade agreement, which was negotiated to replace the old NAFTA accord.
Mexico's labor movement has long been stymied, and wages kept low, by pro-government unions that sign contracts and organize plants behind workers' backs.
The bill approved late Thursday now goes to the Senate. It requires secret-ballot union votes and proof of workers' consent for contracts.
President Donald Trump's daughter Ivanka tweeted Friday: "Mexican lawmakers passed a landmark labor reform bill clearing the way for the new US-Mexico-Canada Agreement (USMCA) to replace the job killing NAFTA."
For decades, unions - many of whose leaders were members of the old ruling party - were so secretive that employees often didn't know that a union even existed at their workplace.
Pro-company unions would sign labor contracts with companies before they even opened plants in Mexico.
Labor Secretary Luisa Maria Alcalde said that with the new law, "we want to change the outmoded model we have had in this country."
Since President Andres Manuel Lopez Obrador took office on Dec. 1, there have been dozens of strikes in the northern border city of Matamoros, sparked in part by Lopez Obrador's decision to double the minimum wage in border areas.
"The labor model has regained a place at center stage that it never should have lost," said Alcalde.
Business groups did not get some of the safeguards they wanted in the law, like a 'right-to work' clause that would allow workers not to belong to any union.
"There are still issues that should be corrected by the Senate," wrote the head of the Mexican employers' federation, Gustavo de Hoyos.
Copyright 2019 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.