Lightly grease a heatproof baking dish with oil, then wipe off excess with paper towel.
Combine sugar and 1 tbsp water in a pan. Heat over medium heat without stirring. Swirl gently until deep amber.
Add remaining 1 tbsp water (careful, it bubbles). Swirl and pour into dish.
Beat eggs gently (avoid foam).
Warm milk and sugar over low heat until dissolved. Do not boil.
Pour into eggs slowly while whisking. Add vanilla if using.
Strain once for smooth texture.
Pour the mixture into the prepared dish over the caramel layer.
Add 1–2 cm water to frying pan and bring to gentle simmer.
Place dish inside. Cover loosely with foil + lid.
Cook: Large dish: 30 min on low heat, Small cups: 5–7 min on medium-low heat
Rest with lid on: Large: 10 min, Small: 7–10 min
Cool completely, then chill 3–4 hours.
Flip to serve.
Ready when center gently jiggles but is not liquid.
