Skip to main content

Authentic Spanish Flan

Preparation Time:
25 mins
Cooking Time:
1 hr
Total Time:
1 hr 25 mins

Recipe Categories


1 1/2 cups of sugar
4 large eggs
2 cups milk (full fat)
2 teaspoons vanilla extract


Preheat the oven to 300°F (150°C).

Start by preparing the ramekins (you could also use one larger mold if you prefer): put six of them (3/4 cup volume) on a 13-inch baking dish. 

Fill the dish with hot water (use a kettle or the hottest water from the tap). 

The warmth is important here since it will keep the ramekin warm when the sugar syrup goes in and stop it from hardening.

Cook 1 cup of the sugar over medium-low heat for about 10 minutes until it liquefies and turns a light golden brown color. 

You'll need to keep a watchful eye on the sugar here, to stop it from burning.

Take it off the heat and quickly pour it into the ramekins. 

If it starts to harden midway through, put it back on the heat and stir until it’s smooth again. 

Set aside while you make the rest of the flan.

In a large mixing bowl, gently mix together the eggs with the remaining 1/2 cup of sugar until creamy.

Add the milk and vanilla and stir until well-combined.

Divide the flan mixture evenly among the six ramekins, pouring right on top of the caramel. 

Cover each ramekin with aluminum foil and tightly seal. 

Bake in the oven for 40 minutes to one hour, or until it wobbles and jiggles when you lightly shake the ramekin. 

If making small ramekins you will likely only need 40 minutes. 

If making a large mold you may need the full hour. 

Quickly check and jiggle when unsure.

Take the ramekins out of the water-filled baking dish and set them aside to cool to room temperature. 

Then place in the fridge covered with foil and chill for at least 6 hours (preferably overnight).

To serve, take a butter knife and run it around the inside of the ramekin. 

Quickly (and gently) flip the ramekin over the plate. 

The caramel should run out to coat it as a sauce. 

If any of the caramel has hardened and stuck to the ramekin, just leave it!