Growing up in coastal Maine, my grandmother’s haddock chowder was a Friday night tradition. She’d walk down to the docks each morning to get fresh fish straight from the boats, and by dinner time our kitchen would smell like the sea. I remember watching her stir that pot of creamy soup, adding just enough salt and pepper to make the fish shine through. It took me years to get her recipe right – she never measured anything, just went by memory and feel. Now that I’ve figured out her secrets, I’m excited to share this hometown favorite that’s gotten my family through countless cold New England nights.

Suggestions for Ingredient Substitution
Cod or haddock fillets can be replaced with other white fish like pollock or halibut, maintaining a similar flavor and texture. These alternatives are often more sustainable and may be more readily available. Adjust cooking time slightly based on fillet thickness.
Heavy cream can be substituted with a combination of half-and-half and Greek yogurt to reduce fat content while maintaining creaminess. Use 1 cup half-and-half and 1 cup Greek yogurt, whisking them together before adding to the chowder.
Full-fat milk can be replaced with unsweetened almond milk or oat milk for a dairy-free option. These plant-based alternatives provide a creamy texture without significantly altering the flavor. Use the same amount as called for in the recipe, but be aware that the chowder may be slightly less rich.
| Preparation Time | 10-15 minutes |
| Cooking Time | 40-60 minutes |
| Total Time | 50-75 minutes |
| Level of Difficulty | Medium |
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 2500-2800
- Protein: 180-200 g
- Fat: 150-170 g
- Carbohydrates: 150-170 g
Ingredients
- 2 tbsp olive oil (I use Bertolli extra virgin olive oil)
- 1 cup chopped yellow onion
- 1 cup grated carrots
- 2.5 lb cod fillets (cut into 1-inch chunks)
- 1 tbsp fresh parsley (finely chopped for garnish)
- 1.5 cups whole milk
- 2 cups heavy cream
- 4.5 tsp kosher salt
- 1 tbsp fresh dill
- black pepper to taste (freshly ground for best flavor)
- 1 lb russet potatoes (peeled and diced into 1/2-inch pieces)
Step 1: Prepare the Potatoes
Fill a 4-quart saucepan with water and add 1 tablespoon of kosher salt.
Set it aside momentarily.
Peel the potatoes and dice them into cubes about 1/2” to 3/4” in size.
Add the cubed potatoes to the pot of salted water.
Place the pot on a burner set to high heat and bring the potatoes and water to a boil.
Boil the potatoes until they are just fork-tender, which should take about 7-10 minutes.
Once tender, remove them from the heat and drain the water.
Set the potatoes aside and wipe out the pot for the next steps.
Step 2: Sauté the Vegetables
Return the emptied pot to the burner and set it over medium-high heat.
Pour in some olive oil and add the diced onions and shredded carrots.
Sauté the vegetables until they are soft, which will take about 7-10 minutes.
If the vegetables begin to brown too quickly, lower the heat to medium.
Stir occasionally to prevent the vegetables from sticking and burning.
Step 3: Prepare the Fish Fillets
While the vegetables are cooking, prepare your fish fillets.
If the fillets are approximately 4”-5” in length, you do not need to cut them further.
However, if they are larger, slice them down just enough to fit the width of your pot.
Aim to leave the fillets as whole as possible so the chowder will have nice, big chunks of fish when finished.
Step 4: Incorporate Potatoes and Cream
Once the onions and carrots are soft, add the boiled potatoes back into the pot.
Pour in the cream and milk and give the pot a quick stir to integrate all the ingredients.
Allow the cream and vegetables to come up to a simmer, but be careful not to let them boil.
Stir occasionally to avoid burning.
Step 5: Cook the Fish and Finish the Chowder
With the pot simmering, add your fish fillets and 1 1/2 teaspoons of kosher salt.
Gently press the fish into the cream to submerge them as much as possible.
It might seem like there’s too much fish initially, but they will shrink and break apart during the cooking process.
Let the chowder simmer until the fish is opaque and breaking apart, about 7-10 minutes.
Once the fish is cooked, gently stir the chowder, breaking the fillets into bite-sized chunks.
Reduce the heat to medium-low and allow the chowder to finish cooking for another 20-30 minutes.
This will slightly thicken the chowder and allow the flavors to meld together.
Step 6: Season and Serve
Stir in the fresh parsley and dill, then taste the chowder to check for seasoning adjustment.
Add pepper to taste and more kosher salt if desired.
Serve the chowder hot, enjoying the blend of flavors and comforting texture.

