Quick Recipe Version (TL;DR)
Quick Ingredients
- 1.5 lb (680 g) skinless haddock or cod, cut into 1.5-inch pieces
- 3 oz (85 g) salt pork, 1/4-inch dice
- 1 large yellow onion, chopped (about 2 cups / 10 oz / 285 g)
- 1 rib celery, chopped (optional, about 1/2 cup / 75 g)
- 1.25 lb (570 g) Yukon Gold potatoes, peeled and cut 3/4-inch
- 1 bay leaf + 1 thyme sprig (or 1/4 tsp dried thyme)
- 2 cups (480 ml) clam juice + 1 cup (240 ml) water
- 3 cups (710 ml) whole milk, warmed
- 1 cup (240 ml) half-and-half, warmed
- 2 Tbsp (28 g) unsalted butter
- 1 tsp kosher salt, 1/2 tsp freshly ground black pepper
- 1.5 cups common crackers (about 3 oz / 85 g); 2 Tbsp chopped chives or parsley
Do This
- 1) Render salt pork in a 5-qt pot over medium heat 6–8 min; scoop out cracklings.
- 2) Sweat onion (and celery) in pork fat with bay leaf and thyme 5–7 min until translucent.
- 3) Add potatoes, clam juice, and water; simmer gently 12–15 min until just tender.
- 4) Warm milk and half-and-half in a saucepan to 160–180 F (71–82 C); do not boil.
- 5) Add warm dairy to pot; keep at 180–190 F (82–88 C). Add fish; poach 5–7 min until it flakes.
- 6) Off heat 10 min. Stir in butter, black pepper, and salt to taste. Ladle into warm bowls; top with cracklings and chives. Serve with common crackers.
Why You’ll Love This Recipe
- Creamy, coastal New England flavor with flaky fish, buttery broth, and tender potatoes.
- Classic technique: render salt pork, sweat onions, gently poach fish in warm dairy.
- Comforting but not heavy—richness from milk and a final pat of butter, no flour needed.
- Make-ahead friendly base: cook potatoes and aromatics in advance, add fish and milk at serving time.
Grocery List
- Produce: Yellow onion, celery (optional), Yukon Gold potatoes, chives or parsley
- Dairy: Whole milk, half-and-half, unsalted butter
- Pantry: Salt pork, clam juice, bay leaf, thyme, kosher salt, black pepper, common crackers
- Seafood: Haddock or cod fillets (skinless)
Full Ingredients
For the Chowder
- 1.5 lb (680 g) haddock or cod, skin off, cut into 1.5-inch pieces
- 3 oz (85 g) salt pork, cut into 1/4-inch dice
- 1 large yellow onion, chopped (about 2 cups / 10 oz / 285 g)
- 1 rib celery, chopped (optional, 1/2 cup / 75 g)
- 1.25 lb (570 g) Yukon Gold potatoes, peeled and cut into 3/4-inch cubes
- 1 bay leaf
- 1 fresh thyme sprig (or 1/4 tsp dried thyme)
- 2 cups (480 ml) bottled clam juice
- 1 cup (240 ml) water
- 3 cups (710 ml) whole milk
- 1 cup (240 ml) half-and-half
- 2 Tbsp (28 g) unsalted butter
- 1 tsp kosher salt, plus more to taste
- 1/2 tsp freshly ground black pepper, plus more to serve
To Serve
- 1.5 cups common crackers (about 3 oz / 85 g), for crumbling or dipping
- 2 Tbsp chopped fresh chives or flat-leaf parsley
- Optional: tiny pats of butter (about 1/2 tsp each) to finish individual bowls

Step-by-Step Instructions
Step 1: Prep the fish and vegetables
Cut the haddock or cod into 1.5-inch chunks and pat dry. Dice the salt pork into 1/4-inch pieces. Chop the onion and celery. Peel and cube the potatoes into 3/4-inch pieces. Keep potatoes submerged in cold water to prevent browning until needed.
Step 2: Render the salt pork
Place the salt pork in a heavy 5-quart pot or Dutch oven set over medium heat. Add 1 tablespoon water to jump-start rendering. Cook, stirring occasionally, until the fat renders and the pork turns lightly crisp, 6–8 minutes. Use a slotted spoon to transfer the cracklings to a small bowl; leave the rendered fat in the pot.
Step 3: Sweat the aromatics
Add the onion and celery to the pot with a pinch of salt. Cook over medium heat, stirring, until the onion turns translucent but not browned, 5–7 minutes. Add the bay leaf and thyme and stir for 30 seconds until fragrant.
Step 4: Simmer the potatoes
Drain the potatoes and add them to the pot along with the clam juice and water. Bring to a gentle simmer over medium heat, then reduce heat to maintain a slow simmer. Cook partially covered until the potatoes are just tender when pierced, 12–15 minutes.
Step 5: Warm the dairy
While the potatoes cook, combine the whole milk and half-and-half in a saucepan over low heat. Warm to 160–180 F (71–82 C) until steaming but not boiling; this helps prevent curdling and keeps the chowder hot when combined.
Step 6: Add dairy and gently poach the fish
Pour the warm dairy into the pot with the potatoes. Adjust heat to keep the liquid just below a simmer, 180–190 F (82–88 C)—do not boil. Nestle in the fish pieces, making sure they are submerged. Cook gently until the fish is opaque and flakes easily with a spoon, 5–7 minutes.
Step 7: Rest, finish, and serve
Remove the pot from the heat and let the chowder rest for 10 minutes to marry flavors. Fish out the bay leaf and thyme. Stir in the butter until melted. Season with black pepper and salt to taste (salt pork and clam juice are salty, so taste before adding much salt). Ladle into warmed bowls, top with reserved salt pork cracklings and chives or parsley, and serve with common crackers. For a traditional finish, add a tiny pat of butter to each bowl.
Pro Tips
- Keep the dairy below a boil after it’s added—gentle heat yields the creamiest broth and prevents the milk from separating.
- Cut fish into generous chunks so it stays flaky and moist; avoid stirring vigorously once the fish goes in.
- Resting the chowder for 10 minutes off heat deepens the flavor and slightly thickens the broth naturally.
- Warm your bowls so the chowder stays hot longer, especially on cool days.
- Common crackers can be crumbled in the bowl to thicken each serving to taste.
Variations
- Smoked twist: Replace 4 oz (115 g) of the fresh fish with smoked haddock for a subtle smokiness.
- Corn and bacon: Swap salt pork for thick-cut bacon and add 1 cup sweet corn kernels in Step 3.
- All-milk classic: Skip half-and-half and use 4 cups whole milk total for a lighter, more traditional broth.
Storage & Make-Ahead
Best texture is same-day. Leftovers keep 1–2 days refrigerated in an airtight container. Reheat very gently over low heat to 160 F (71 C); do not boil. For make-ahead, cook through Step 4 (potatoes tender), cool, and refrigerate up to 3 days or freeze up to 3 months. Reheat the base, then add warm dairy and fish and proceed with Steps 6–7 just before serving.
Nutrition (per serving)
Approximate, without crackers: 430 calories; 27 g protein; 23 g fat; 30 g carbohydrates; 1.0 g fiber; 960 mg sodium. Values will vary with brands and salt pork salinity.


Leave a Reply