First half goals from Christian Benitez, Daniel Montenegro and Rubens Sambueza had the visitors in control, before substitute Christian Bermudez concluded the scoring four minutes from time.
The result lifts Club America up to fourth in the table, three points behind pacesetters Toluca.
Guadalajara had Fierro Guerrero to thank for the 82nd-minute goal which gave them victory at San Luis and moved them above their opponents.
Unam Pumas moved above Santos Laguna with a 2-1 away success. Emanuel Villa's double had the visitors 2-0 ahead before Daniel Luduena replied.
Atlas led through Sergio Santana's goal against Jaguares but were pegged back by substitute Franco Arizala's goal. Jaguares had another substitute, Edgar Trujillo, sent off at the end.
It was a similar story at Monterrey, where Atlante hit back for a 1-1 draw but ended the game with 10 men.
Jorge Guagua's own goal had Monterrey ahead in the first half and the visitors had Luis Venegas before Osvaldo Martinez earned them a point with an 84th minute penalty.