Gather the ingredients.
Make a sachet d'epices by tying 2 to 3 sprigs fresh thyme , 2 to 3 whole peppercorns , 1 clove , 3 to 4 fresh parsley sprigs , and 1 large bay leaf into a piece of cheesecloth. Set aside.
In a heavy-bottomed stock pot or soup pot, heat 2 tablespoons unsalted butter over medium heat.
Lower the heat, add 1 stalk celery (coarsely chopped) , 1 medium carrot (coarsely chopped) , and 1 medium onion (coarsely chopped) and warm very gently, with the lid on, for about 5 minutes, or until the onion is softened and slightly translucent but not brown.
Add 4 pounds fish bones and heads (gills discarded) , cover the mixture with a piece of parchment paper, and re-cover the pot, letting the bones warm gently until they are slightly opaque.
Remove the lid and the parchment; add 1 cup dry white wine and turn up the heat until the stock starts to simmer.
Add the sachet and 1 gallon cold water , heat to a simmer, and let cook for 30 to 45 minutes.
Strain (you can remove fish bones first if that makes it easier), cool, and refrigerate.
