A close race is predicted between Felipe Calderon, of the ruling National Action Party, and Andres Manuel Lopez Obrador, a former mayor of Mexico City.
The presidential election is the first since Vicente Fox’s victory in 2000 ended 71 years of rule by the Institutional Revolutionary Party, or PRI. It will decide whether Mexico becomes the latest Latin American country to move to the left.
Leftist Lopez Obrador led opinion polls by about two points after almost six months of aggressive campaigning that has highlighted the divisions between rich in poor in the country.
Lopez Obrador has said he will cut bureaucracy to pay for welfare programmes that he says will lift millions out of poverty.
In a country where at least half the population lives on less than $5 a day, Lopez Obrador has won support by promising to give pensions to those over 70 and cut energy prices.
Voters line up at a polling station
Former energy minister Calderon has accused Lopez Obrador of populism and says he would burden the country with heavy debts. He pledged to be the “jobs president” and maintain the stable economy.
Three other candidates lag well behind Calderon and Lopez Obrador in opinion polls.
Border security, trade and immigration concerns mean that the election will be watched closely by the United States.
Five governors and both houses of Congress will also be elected.