Preheat your oven to 400 degrees F. Line a baking sheet with parchment paper and set it aside.
In a medium saucepan, combine the milk, butter, sugar, and salt over medium heat until it begins to boil.
Add the flour to the saucepan and stir vigorously with a wooden spoon until the paste starts to look dry and no longer clings to the pan or spoon, about 2 to 3 minutes. Do not overmix.
Transfer the paste to a large mixing bowl (or stand mixer bowl) and let it sit for 5 minutes. Stirring every couple of minutes to release heat.
Use a hand mixer (or paddle attachment) to beat one egg at a time into the paste at medium-high speed. Make sure the paste is completely smooth and the egg is incorporated before adding the next one. The paste is ready when it sticks up without sagging on the end of a spoon.
Use the paste immediately or you can refrigerate for up to 4 hours (no longer) covered in plastic wrap.
Transfer the paste to a pastry bag fitted with a Wilton 2A piping tip (or similar size tip). Pipe the paste onto the prepared baking sheet in mounds about 2 inches wide and 1 inch high, leaving about 2 inches of space between each one. Do not move the piping tip up as you pipe, just let the paste puff up around it.
Sprinkle the mounds and the baking sheet with some water. (This helps the choux paste to puff up while baking.)
Bake on a lower oven rack for 10 minutes. Then reduce the oven heat to 350 degrees F and bake for an additional 20 to 25 minutes until the puffs are golden brown and firm to the touch.
Transfer the puffs to a wire rack and poke a small hole in the side of each puff with a toothpick or paring knife to release heat and prevent the insides from getting soggy while they cool. Cool completely before filling.
Whipped Cream
Add the heavy cream and vanilla to a mixing bowl and beat on medium speed until bubbles form. Slowly add the sugar in 1 tablespoon at a time. Then beat at medium-high speed until thick and creamy.
Transfer the whipped cream to a piping bag fitted with a large piping tip of your choice. (You can use the same one as you did for the puffs if you want.)
Slice the puffs in half. Pipe the whipped cream onto the cut side of the bottom half and then place the top of the puff back on the whipped cream. Dust with powdered sugar before serving if desired. (The cream puffs are best consumed immediately but can be stored in the refrigerator.)
Notes
The baked puffs can be stored in an airtight container after cooling for up to 1 day before adding the whipped cream.
To make profiteroles: Use a small piping tip for the choux pastry and bake for 20 to 25 minutes at 350 degrees F the entire time.