- For the caramel, combine milk, sugar and vanilla bean (but not vanilla extract) in a heavy, wide pan and stir to dissolve sugar. Cook over low heat, stirring occasionally, until the mixture is caramelcolored and thick (this will take several hours). It will look curdled at the end. Blend in a blender or with an immersion blender to smooth it out (remove vanilla bean first). Add vanilla extract at this time if using. Refrigerate in a closed container (it keeps many, many weeks but will become grainy after a while).
- Heat oven to 400°. To make cream puffs, bring water to a boil in a small pan over high heat. Lower heat to medium and add butter and salt. Stir to melt butter. Remove from heat and add flour all at once. Use a wooden spoon to beat the flour vigorously into the hot water; it will be quite thick and pasty. Add eggs one at a time, beating quickly and well after each addition until the paste absorbs the eggs. Put over medium-hot burner for a minute and continue to stir vigorously.
- If you have a pastry bag, put the paste into the bag fitted with a wide, plain tip (or into a zipperstyle bag with the corner snipped off) and squeeze cream puffs onto a baking sheet in the size you desire (8 large puffs or 24 little ones). You can also use a spoon to dip the dough onto the baking sheet. Bake for 20 minutes at 400°; reduce heat to 200° and bake 20 minutes more (larger puffs will take longer; they should be golden brown).
- To serve, beat 1¼ cups heavy cream until it’s fluffy and fairly stiff. Beat together ¼ cup of unbeaten cream with ¾ cup of the dulce de leche. Fold that mixture back into the beaten cream. Use this mixture to fill cream puffs (fill them with a pastry bag punched into the side, or cut the cream puffs in half and fill with cream). Gently heat remaining dulce de leche in the microwave and pour over cream puffs to serve.