The visitors came out attacking as they looked to earn their first win, and Cristian Campestrini made a great save to prevent Jonathan Rodríguez from opening the scoring early on with a low shot towards the corner.
Then, at the other end of the field, Agustín Marchesín did well to tip a dangerous shot from Carlos Gutiérrez onto the crossbar to prevent Puebla from taking the lead.
The next good opportunity was for Santos, when Carlos Izquierdoz tried his luck with a header in the 20th minute. However, David Toledo was there to clear the ball off the line.
In the second half, both teams continued to create chances and both goalkeepers continued to shine. Marchesín made a great save on Francisco Torres, whose free kick attempt was headed for the corner.
The Argentinian goalkeeper then suffered a hand injury after Santos had used all of their substitutes; as a result, defender Kristian Álvarez took his place in goal while Marchesín played the final 10 minutes in the field.
Puebla nearly won it in stoppage time, but Diego de Buen was there to make the clearance after Álvarez came out to punch away a free kick but failed to clear it out of the box.
With the 0-0 draw, Puebla reaches five points while Santos Laguna reaches two.
Puebla: Cristian Campestrini, Óscar Rojas, Patricio Araujo, Robert Herrera, Carlos Gutiérrez, David Toledo, Christian Bermúdez (Eduardo Pérez 87′), Francisco Torres, Damián Escudero (Franco Arizala 62′), Matías Alustiza, Alexis Canelo (Álvaro Navarro 79′).
Santos: Agustín Marchesín, Kristian Álvarez, Carlos Izquierdoz, Jesús Molina, Jorge Flores, Emiliano Armenteros (Diego de Buen 71′), Walter Sandoval, Bryan Rabello (Ulises Dávila 70′), Jonathan Rodríguez, Martín Bravo, Freddy Hinestroza (Mauricio Cuero 70′).