Puebla, sitting near the foot of the table, was looking to gain some momentum after the international break. There were chances at both ends in the early going, although Nicolás Vikonis was the busier of the two goalkeepers, making notable saves against Osvaldo Martínez and Facundo Barceló to keep Puebla from falling behind.
The hosts had chances of their own, though, with Mauricio Cuero letting a great opportunity go begging when he failed to finish in front of an empty net, and Brayan Angulo coming close with a volleyed attempt in the 36th minute.
Puebla brought on Lucas Cavallini to start the second half, and with that addition they began to look more incisive. The Canadian nearly opened the scoring in the 80th minute, only for Camilo Vargas to make a great save to keep the game goalless.
A 0-0 tie was looking imminent, but in the 85th minute, Atlas grabbed the lead. Barceló got to a cross from Christopher Trejo just ahead of his defender and stabbed it home from the top of the six-yard box to make it 0-1 for the visitors.
There was not enough time remaining for Puebla to find a response, and Atlas held on for an important victory.
With the 0-1 win, Atlas reaches 21 points while Puebla still has 13.