Lava, pela y corta la calabaza en trozos. Cuécela en agua hirviendo hasta que puedas atravesarla fácilmente con un tenedor, entre 15 y 20 minutos. Escúrrela muy bien, deja que pierda el vapor y tritúrala hasta obtener un puré liso.
Bate los huevos con la leche condensada y la leche entera hasta integrarlos. Añade el puré de calabaza, la ralladura de limón y la canela, y mezcla hasta que no queden vetas ni grumos. Evita batir en exceso para no incorporar demasiado aire.
Coloca el azúcar y el agua en una flanera de aproximadamente 20 cm o en una cacerola pequeña. Cocina a fuego medio sin revolver; cuando el azúcar se funda, mueve el recipiente con cuidado para distribuir el calor. Retíralo cuando el caramelo tenga un tono ámbar claro y gira la flanera para cubrir la base y parte de las paredes.
Deja reposar el caramelo un momento y vierte encima la mezcla de calabaza. Cubre la flanera con su tapa o con papel de aluminio bien ajustado para evitar que entre agua.
Coloca la flanera dentro de una olla amplia y añade agua caliente hasta llegar aproximadamente a la mitad de su altura. Tapa la olla y cocina a fuego bajo o medio-bajo durante 70 a 80 minutos, manteniendo un hervor suave. El flan estará listo cuando los bordes estén firmes y el centro tiemble ligeramente.
Retira la flanera del baño María y déjala enfriar a temperatura ambiente. Cuando ya no esté caliente, refrigérala durante al menos 4 horas antes de desmoldar para que el flan termine de afirmarse.
Pasa un cuchillo fino por el borde, coloca un plato sobre la flanera y voltéala con decisión. Espera unos segundos para que el caramelo cubra el flan y sírvelo frío.