US Republican presidential hopeful Donald Trump has met with Mexican President Enrique Pena Nieto over his plan to build a wall between the nations, but not his plan to have Mexico pay for it.
In an unexpected trip to a country he has frequently vilified for illegal immigration and drug smuggling, Mr Trump visited Mr Pena Nieto at his residence for about an hour.
"And I happen to have a tremendous feeling for Mexican Americans - not only in terms of friendships but in terms of the tremendous numbers that I employ in the United States and they are amazing people. Amazing people."
He said he had told Mr Pena Nieto the US had the right to build the border wall to halt illegal immigration.
In campaign rallies for the 8 November election, the New York businessman had frequently told approving crowds that Mexico must pay for his planned wall, however he had not spoken to Mr Pena Nieto about the payment during their meeting, he said.
"We did discuss the wall, we didn't discuss payment of the wall, that will be at a later date, this was a very preliminary meeting. It was an excellent meeting," Trump said.
Mr Pena Nieto told Mr Trump Mexicans deserved respect.
"The Mexicans in the United States are honest ... Mexicans deserve the respect of everyone," he said, standing next to Mr Trump.
Mexican opposition politicians heavily criticized Pena Nieto for hosting Trump, who has accused Mexico of sending criminals and rapists across the border and cheating the United States on trade.
A few dozen people gathered beneath a monument to Mexican independence in the center of the capital to protest the visit, some holding placards emblazoned with captions like "You are not Wall-come" and "Trump and Pena out."
Mr Trump's visit to Mexico City took place hours before he was due to deliver a highly anticipated speech in the border state of Arizona on how he would tackle illegal immigration if he won the election.