Masked anti-government protesters set fire on Sunday to the entrance to a metro station and hurled rocks at the headquarters of the broadcaster Televisa at the end of a rally to support an opposition leader.
Seven people were arrested, the broadcaster Milenio TV reported.
Left-wing opposition leader Andres Manuel Lopez Obrador, a former presidential candidate, led the massive rally in Mexico City’s central Zocalo square, to mark the first anniversary of the government of Mexican President Enrique Pena Nieto.
Mr. Lopez Obrador called for government opponents to surround the Mexican Parliament when it begins to discuss an analysis of energy reform proposed by the government.
The left-wing leader has led the charge against Mr. Nieto’s plans to liberalize the country’s tightly regulated energy business so that private firms can participate in badly needed investments to modernize the sector.
The troubled, inefficient state oil company Petroleos de Mexico (Pemex), the country’s biggest source of foreign exchange, is a sacred cow in Mexican politics — a symbol of the country’s national independence and strength.
But production has plummeted since 2004, and oil-rich Mexico has to import almost half the fuel it consumes because of a lack of refining capacity.
Mr. Lopez Obrador charged that Mr. Nieto’s proposal would not boost economic growth or job creation in Mexico.
The Ministry of Public Security provided 4,700 troops to provide security during the rally.
Since Friday, the Senate has been shielded with a high metal wall intended to prevent access to protesters.
Hotels in the centre of the city bordering the Zocalo are seeking similar protection.
Protests against Pena Nieto have been a constant in his first year in office. On the day of his inauguration a year ago, the city centre became a battleground between police and protesters who decried the return to power of the Institutional Revolutionary Party (PRI).
The PRI ruled Mexico for 71 years with an authoritarian and, some say, corrupt hand, until it was ousted in 2000.