The 10-times champions have won the tournament more than any other nation and they controlled the game from start to finish in front of a mostly Mexican crowd in Glendale, Arizona.
However, despite having 70 percent possession and 23 shots to Haiti’s one, the Mexicans were held scoreless for 90 minutes with Haiti goalkeeper Jhony Placide in inspired form.
Mexico had to wait until the third minute of extra time before they got the goal that counted with Placide unable to do anything to stop Raul Jimenez’s coolly taken penalty.
Substitute Luis Montes should have made it 2-0 in the dying seconds but he missed an open goal after good work from Jimenez.
"They are very athletic and they compete toe-to-toe for everything," said Jimenez, who took the penalty just three days after missing one in Mexico's shootout win over Costa Rica.
"They made it hard for us, but we knew how to get the result. It was difficult but we’re where we want to be."
El Tri will now go to Chicago for Sunday's final against either the United States or Jamaica, who meet in the second semi-final on Wednesday in Nashville.
The win extended Mexico's unbeaten run to nine games under Gerardo Martino, the Argentine coach who took over in January.
(Reporting by Andrew Downie; Editing by Peter Rutherford/Nick Mulvenney)