Layun scored in the 42nd and 62nd minutes, and Marco Fabian added a goal in the 85th.
Mexico goalkeeper Jesus Corona sustained a head injury crashing into Francisco Rodriguez and was replaced in the 70th by Guillermo Ochoa.
“We don’t know yet what is wrong with Jesus,” coach Miguel Herrera said. “He is going to be tested. … I spoke briefly with him and he said that he was fine, but we need to wait.”
Mexico will play Ecuador on Saturday in Arlington, Texas, then face Bosnia-Herzegovina on Tuesday night in Chicago and close its pre-World Cup schedule against Portugal on June 6 in Foxborough, Massachusetts.