fb-pixel Skip to main content
Cooking | Magazine

Create a chef-like seafood dish with these 3 fail-proof recipes

Steaming, sauce, and spices prevent fish from being overcooked and rubbery.

Vietnamese Caramel Fish (Cá Kho Tô. ).
Vietnamese Caramel Fish (Cá Kho Tô. ).Connie Miller of CB Creatives

Many American home cooks think fish is best reserved for the pros. But thanks to a few techniques from around the world, you’ll never end up with rubbery or overcooked seafood again. Inspired by Chinese cooks, we use the gentle heat of steam to cook ginger-rubbed cod, which comes splashed with hot oil infused with scallions and serrano chilies. For Vietnamese cá kho tô., the fish is cooked in a savory-sweet caramel sauce that both seasons the fish and keeps it moist. And an Indian spice rub with garam masala, curry powder, and paprika creates a flavorful crust that seals in the juices of skillet-blackened salmon fillets.

Vietnamese Caramel Fish (Cá Kho Tô)


Makes 4 servings

To ensure our sauce is dark and savory, not cloying, we cook the sugar long enough to create a darker and slightly bitter caramel. We found that a tablespoon of coconut water helped the sugar caramelize faster, getting us the deep coffee color we were after in just minutes. Keep a close eye on the caramel to prevent it from burning and becoming too bitter.

Dark, oily fish is common in this dish, but we like it better with a firm whitefish. Note that cooking times are for fillets about ¾-inch thick.

Coconut water lends a slight sweetness and subtle coconut flavor to the caramel. If you can’t find it, use water (canned coconut milk should not be substituted).

1 tablespoon plus ½ cup coconut water

¼ cup white sugar

3 tablespoons fish sauce

½ cup thinly sliced shallots

1½-inch piece fresh ginger, halved and smashed

4 2-inch strips lime zest

4 5- to 6-ounce cod fillets, about ¾-inch thick

Ground black pepper

¼ cup chopped fresh cilantro

1 jalapeño or serrano chili, thinly sliced

In a large Dutch oven over medium-high heat, bring 1 tablespoon of the coconut water and the sugar to a boil. Cook, stirring occasionally, until the mixture begins to color at the edges, 2 to 3 minutes. Reduce to medium-low heat and cook, stirring often, until the sugar is mahogany-colored, another 1 to 3 minutes. Off heat, add the fish sauce and whisk until smooth (the mixture will steam and bubble vigorously). Add the remaining ½ cup of coconut water and whisk until fully incorporated. Add the shallots, ginger, and zest. Return to a simmer over medium heat. Reduce the heat to medium-low and simmer gently for 5 minutes.


Season the fish with pepper, then nestle it into the pot. Simmer for 3 minutes, then gently turn the fish and continue simmering until just cooked through, 3 to 5 minutes, scraping the edges of the pot as necessary to prevent burning and adjusting the heat to maintain a gentle simmer. (If the caramel darkens too quickly around the edges, reduce the heat to low.)

Carefully transfer the fish to a rimmed serving plate. The sauce should be thick and syrupy. If necessary, continue to simmer until the proper consistency is achieved. Off heat, remove and discard the ginger and zest. Drizzle the fish with the sauce, then sprinkle with cilantro and chili.

Ginger-Scallion Steamed Cod
Ginger-Scallion Steamed Cod.Connie Miller of CB Creatives

Ginger-Scallion Steamed Cod

Makes 4 servings

In southern China, cooks have a worry-free method for cooking delicate, flaky white fish to perfection: steaming the fish whole with aromatics-spiked water. The mild heat slowly firms the protein, allowing it to stay moist. We adapted the technique, using skinless cod fillets for convenience and lining our steamer basket with cabbage leaves to mimic the skin of the whole fish. Rubbing the fillets with a blend of ginger, cilantro, scallions, and soy sauce produced deep flavor in the mild-tasting fish. We drew on another classic Chinese technique for a flavorful finish: topping the fillets with raw chopped scallions and serrano chilies, then pouring sizzling-hot oil over them to bring out the flavors and aromas.


Though this recipe calls for cod, haddock and halibut — or any firm, thick white fish fillets — also work. Fillets vary in thickness, so a general guide is to steam them for about 8 minutes per 1-inch thickness.

The steaming water should not reach a full boil; gentle heat cooks the fish slowly and evenly, helping it stay moist.

3 tablespoons chopped fresh cilantro leaves, plus ¼ cup whole leaves, divided

6 scallions, 3 minced and 3 thinly sliced on the diagonal, divided

2 tablespoons finely grated fresh ginger

6 tablespoons soy sauce, divided

3 tablespoons grape-seed or other neutral oil, divided

4 6-ounce skinless cod, haddock, or halibut fillets

6 large green cabbage leaves, plus 2 cups thinly sliced green cabbage

2 tablespoons unseasoned rice vinegar

2 teaspoons white sugar

1 teaspoon ground white pepper

1 serrano chili, stemmed and sliced into thin rings

1 tablespoon toasted sesame oil

In a wide, shallow bowl, stir together the chopped cilantro, the minced scallions, ginger, 2 tablespoons of soy sauce, and 1 tablespoon of grape-seed oil. Add the fish and coat on all sides. Let stand at room temperature for 10 minutes.


Place a steamer basket in a large pot. Add enough water to fill the bottom of the pot without reaching the basket. Remove the basket. Cover the pot and bring to a simmer over medium-high heat. Line the basket with 4 cabbage leaves. Place the fillets on the leaves, then cover with the remaining 2 leaves. Turn off the heat under the pot, then set the basket in it. Cover and return to a simmer over medium heat. Steam until the fish flakes easily, 8 to 12 minutes.

Meanwhile, in a small bowl, whisk the remaining 4 tablespoons soy sauce, the rice vinegar, sugar, and white pepper. Transfer 3 tablespoons to a medium bowl, add the sliced cabbage and toss. Arrange on a serving platter. Reserve the remaining dressing.

When the fish is ready, discard the cabbage leaves covering it. Use a spatula to transfer the fillets to the platter, placing them on the sliced cabbage. Sprinkle with the sliced scallions and the serrano.

To a small skillet over medium-high heat, add the remaining 2 tablespoons grape-seed oil and heat until barely smoking. Carefully pour the oil over the fillets. Drizzle with the sesame oil and sprinkle with the cilantro leaves. Serve with the reserved dressing on the side.

Masala-Rubbed Blackened Salmon.
Masala-Rubbed Blackened Salmon.Connie Miller of CB Creatives

Masala-Rubbed Blackened Salmon

Makes 4 servings

A mixture of garam masala, curry powder, and paprika seasons salmon fillets before they’re seared in a hot skillet. This recipe calls for skin-on fillets, but skinless works, too — just make sure to start them skinned side down in the pan. Try to purchase fillets of equal thickness so they cook at the same rate.


Be sure to turn the heat down to medium immediately after placing the salmon in the skillet. If the heat is too high, the spice rub may scorch.

A cooling yogurt-mint sauce is the perfect accompaniment to the salmon.

1 tablespoon sweet paprika

3 teaspoons garam masala, divided

3 teaspoons curry powder, divided

Kosher salt and ground black pepper

4 6-ounce skin-on salmon fillets (about 1-inch thick)

1 cup plain whole-milk yogurt

¼ cup finely chopped fresh mint

1 tablespoon honey

1 tablespoon grated lemon zest, plus 1 tablespoon lemon juice and lemon wedges to serve

2 tablespoons grape-seed or other neutral oil

In a small bowl, stir together the paprika, 2 teaspoons of garam masala, 2 teaspoons of curry powder, 2 teaspoons salt, and 1 teaspoon pepper. Sprinkle evenly over both sides of the fillets, rubbing it in.

In another small bowl, whisk together the yogurt, mint, honey, lemon zest and juice, the remaining 1 teaspoon garam masala and the remaining 1 teaspoon curry powder. Taste and season with salt and pepper; set aside.

In a nonstick 12-inch skillet over medium-high, heat the oil until barely smoking. Add the salmon skin side down, reduce to medium, and cook without disturbing until well browned, 2 to 3 minutes. Using tongs or a wide metal spatula, carefully flip each fillet. Continue to cook until well browned on the second sides and the thickest part of each fillet registers 115 degrees to 120 degrees, 5 to 8 minutes. Transfer to a platter, flipping the fillets skin side down, and serve with the yogurt sauce and lemon wedges.

Christopher Kimball is the founder of Milk Street, home to a magazine, school, and radio and television shows. Globe readers get 12 weeks of complete digital access, plus two issues of Milk Street print magazine, for just $1. Go to 177milkstreet.com/globe. Send comments to magazine@globe.com.