Roasted Fish with Tomatoes and Cilantro

Roasted white fish on stewed tomatoes and onions, with cilantro and crusty bread on a wooden board

Why This Mediterranean Roasted Fish Recipe Works Best

This Roasted Fish with Tomatoes and Cilantro is a versatile, one-pan meal that bridges the gap between a hearty stew and a light summer bake. By sautéing a base of sweet onions and ripe tomatoes with California Sherry Wine Vinegar, opens in a new tab, you create a rich, acidic sauce that perfectly complements mild, flaky white fish like cod or halibut. The dish uses a "tomato barrier" technique—placing fish atop sliced tomatoes—to ensure the meat steams gently in the oven, staying moist and tender in under 30 minutes.

There is a unique richness in stewed tomatoes that, when paired with the clean finish of white fish, creates a restaurant-quality Mediterranean experience at home. This recipe is designed for transition seasons—the light feel of spring with the savory depth of fall.

The Versatility of the Catch 

While we recommend Halibut or Cod Loin, this recipe is exceptionally adaptable. Use any mild, flaky white fish available at your local market. For a deeper "sea flavor," you can even use whole fish like Red Snapper. The acidity from the vinegar ensures that even "fish-skeptics" will enjoy the bright, balanced flavor profile.

Ingredients That Matter

  • California Sherry Wine Vinegar: This is the secret ingredient that deglazes the pan and provides the essential "zing" to the tomato base.
  • Fresh Cilantro: Used in large quantities, it provides a peppery, citrusy aroma. (Sub with parsley or basil if preferred).
  • Ripe Roma or Cherry Tomatoes: These break down quickly to form a chunky, savory sauce.

Steps for the Perfect Roasted Fish

  • The Sliced Tomato Layer: Before adding the fish to the pan, lay a single layer of sliced beefsteak tomatoes over the sautéed sauce. This creates a "protective bed" that prevents the fish from sticking and infuses it with moisture from below.
  • Deglaze with Sherry Vinegar: After the vegetables soften, add the Sherry Vinegar to release the caramelized "fond" from the pan. Allow it to dissipate for 30 seconds to mellow the sharpness while retaining the complex flavor.
  • One-Pan Efficiency: Use a pan that is both stovetop and oven-safe (like cast iron or enameled steel). Most of the flavor is built on the stove, with the oven used only for the final, gentle roast.
  • The Flake Test: Roast at 400°F for about 12 minutes. The fish is done the moment it becomes opaque and flakes easily with a fork. Overcooking white fish is the fastest way to lose the delicate texture.

 

FAQs About Roasted Fish with Tomatoes

What is the best substitute for Sherry Vinegar in fish recipes?

If you don't have Sherry Vinegar, Chardonnay or Tarragon vinegars are excellent substitutes. They offer a similar bright acidity without overwhelming the delicate flavor of the white fish.

Can I use frozen fish for this recipe?

Yes. Ensure the fish is fully thawed and patted dry with paper towels before salting. Excess moisture from frozen fish can dilute the tomato sauce.

How do I prevent my fish from becoming tough?

The key is the oven temperature and the tomato "bed." Roasting at a high heat (400°F) for a shorter duration prevents the proteins from tightening too much, while the tomatoes underneath provide steam to keep the meat succulent.

Which vinegar to use, and why

White fish wants acid that will not bully it. Rosé vinegar is bright with soft fruit that suits the tomatoes. We use Pink Pacific Rosé Wine Vinegar here. It is slow-fermented and aged in oak at our mill in Worcester, Massachusetts, which is why it seasons the dish rather than just souring it.

Make it ahead and keep it

Best straight from the pan. If you are reheating, add the vinegar again at the end rather than at the start, since heat drives off what you paid for.

What to cook next

Try Panko Crusted Cod, or browse all our vinegar recipes. If you have not cooked with craft vinegar before, a mini bottle sampler set lets you taste across the range before committing to a full-size bottle. Orders over $85 ship free within the contiguous US.

Roasted Fish With Tomatoes & Cilantro

American Vinegar Works

Servings

2–3 People

Prep Time

10 minutes

Cook Time

20 minutes

Cuisine

Mediterranean

Category

Main

This dish offers a beautiful balance between the richness of stewed tomatoes and the lighter, flaky texture of white fish. It is a versatile Mediterranean-style meal that comes together in under 30 minutes, making it ideal for the transition between seasons. While cod or halibut are recommended, the recipe can be adapted to many types of fish, allowing you to experiment with what is freshest at your market.

Roasted Fish With Tomatoes & Cilantro

Ingredients

  • 1lb of skinless/boneless Cod Loin, Halibut, or other mild, flakey white fish

  • ¼ cup of AVW Olive Oil, more for drizzling

  • ¼ teaspoon of crushed red pepper

  • 1 medium sweet onion (about 2 cups sliced)

  • 1 bunch of fresh cilantro (about 1 cup chopped)

  • 3 cups of fresh, ripe tomatoes like cherry or Roma varieties

  • ¼ teaspoon of salt, more for fish seasoning

  • ½ teaspoon of paprika (Sweet Hungarian, not smokey/Spanish)

  • 2 tablespoons of tomato paste

  • 2 tablespoons of California Sherry Wine Vinegar

  • 2 sliced tomatoes (beefsteak/sandwich style tomatoes)

Directions

  1. Preheat oven to 400 degrees

  2. Lightly salt the fish so that the salt penetrates while you prepare the rest of the dish.

  3. Select a pan that is stove top and oven safe.  We are only using one pan for this dish.

  4. Add olive oil and crushed red pepper to pan at medium heat.  Careful not to burn the oil. You may want to have the other ingredients ready.

  5. Quarter the onion and then slice.  These are not minced or chopped onions.  You are looking to keep some of the texture in the dish.  Add to pan

  6. Discard cilantro stems and roughly chop the upper part of the cilantro bunch. Reserve a very small amount of the leaves for plating.  Add most of the cilantro to pan and stir into onions.  Cook until onions start to soften.

  7. Roughly chop the Roma or cherry tomatoes. You are looking for ripe tomatoes that will make a good sauce for this phase. Add tomatoes to pan and stir.

  8. Add salt, tomato paste, and paprika to pan and stir.  Allow tomatoes to soften and cook about 5 minutes.

  9. Add California Sherry Vinegar to pan and stir to release any bits that had stuck to pan.  Allow 30 seconds or so for some of the vinegar to dissipate.

  10. Shut off stove top. Carefully spread out the sliced tomatoes over your cooked sauce so they create one layer.  Lightly salt the tomatoes.  Place the cod loin over the sliced tomatoes and lightly drizzle some olive oil over the fish.

  11. Place the pan in the preheated over and cook until the fish is flakey.  This should be about 12 minutes but will vary depending on how thick your fish is.  Careful when you pull the pan from the oven.  It is easy to forget that that pan handle has been in a 400 degree oven once it is out.

  12. Plate by spooning the chunky sauce that is around the fish into a deep plate.  Carefully place the fish on top and then spoon more sauce over the fish.  You can then top with a few leaves of fresh cilantro.

  13. Serve with crusty bread and a simple, bright salad such as arugula with lemon, parmesan, and hazelnuts.