Jugó en el equipo de su pueblo, la SD Euskalduna de Andoain en Tercera división hasta que fue fichado por la Real Sociedad en 1965. Debutó con la Real Sociedad en 1965 en la Segunda división española, pero en sus primeras campañas fue suplente de Jesús Mari Zubiarrain, hasta que, ya en Primera división, la marcha de este al Atlético de Madrid en 1968, le dejó como dueño absoluto de la portería realista durante las siguientes 5 temporadas. Esnaola jugaría 207 partidos oficiales con la Real
En 1973 fue traspasado al Real Betis Balompié por 12.000.000 ptas. Con el Betis fue uno de los héroes de la consecución de la primera Copa del Rey, el 25 de julio de 1977 contra el Athletic de Bilbao, en el estadio Vicente Calderón de Madrid. Su aportación en este partido fue decisiva a la hora de los lanzamientos de penalty, deteniendo tres lanzamientos del Athletic Club (Dani, Villar e Iríbar) y marcando el gol definitivo a Iríbar. Jugó 303 partidos en el Betis y es el jugador que ha vestido la camiseta del Betis más minutos con 27.102. Tras su retirada como futbolista continuó ligado al Betis, siendo el entrenador del primero equipo en los años 1990 y 1992 y entrenador de porteros.