Lopez Obrador promoted the changes to strengthen the state-owned electricity provider and roll back the effects of liberalization under previous governments that he says benefited private companies.
But his plans alarmed the United States and Canada, prompting warnings that Mexico is in danger of violating its trade commitments by favoring state-run entities heavily dependent on fossil fuels.
After a marathon session in the lower house of Congress on Easter Sunday, the president’s Morena party failed to secure the two-thirds majority needed to amend the constitution.
An angry Lopez Obrador denounced “an act of treason against Mexico by a group of legislators who, instead of defending the interests of the people and the nation, decided to be outspoken defenders of foreign companies.”
There were 275 votes in favor and 223 against the bill, with no abstentions, the president of the lower house, Sergio Gutierrez, announced.
Gutierrez had earlier accused the opposition of wanting to remain “imperialist lackeys” at the service of foreign companies.
But Jorge Romero of the conservative National Action Party argued that the bill would put the country “back 50 years” in efforts to protect the environment.
Although Lopez Obrador remains popular, with an approval rating of nearly 60 percent, his Morena party and its allies lost its absolute majority in the lower house in legislative elections last year.
Earlier during the debate, his supporters held a rally outside the Chamber of Deputies calling for the reforms to be passed, with one carrying a sign that said “Don’t sell out the nation.”