Baked Cod With Tomatoes and Onions Recipe: Mediterranean Bistro Flavor in One Pan

Side Dishes

Baked Cod With Tomatoes and Onions Recipe: Mediterranean Bistro Flavor in One Pan

Baking cod with tomatoes and onions transforms simple ingredients into a restaurant-worthy Mediterranean dish that needs just one pan and 25 minutes of active time. The secret lies in balancing tender, flaky cod with sweet caramelized onions and juicy tomatoes—all baked together until golden and aromatic.

I developed this recipe after years of testing one-pan seafood dishes, and it consistently delivers bistro-quality results with minimal effort.

What makes this dish special is its simplicity without sacrificing flavor. The tomatoes release their natural juices while baking, creating a light sauce that coats the cod, while the onions develop a sweet, caramelized depth.

The key technique is baking at 400°F—hot enough to crisp the onions and tomatoes while keeping the cod perfectly moist, never dry. This method also makes cleanup effortless, leaving you more time to enjoy your meal.

By the time you pull this dish from the oven, you'll have perfectly cooked cod with crisp edges and tender centers, surrounded by caramelized onions and blistered tomatoes. The aroma alone will have everyone at the table anticipating that first bite—flaky, flavorful, and impossibly satisfying.

The dish serves four and pairs beautifully with crusty bread or a simple green salad.

This recipe works equally well for weeknight dinners or special occasions, making it a versatile addition to any seafood lover's repertoire. The Mediterranean flavors shine through without requiring complex techniques, proving that elegant meals can be both approachable and impressive. Let's get baking!

👨‍🍳
Difficulty
Medium
🐟
Diet
Seafood
🔥
Calories
Med Cal

Ingredients for baked cod with tomatoes and onions

Simple seafood ingredients that deliver restaurant-quality Mediterranean flavors with minimal effort.

Ingredient Amount Notes
Cod Fillets 🐟 4 pieces Skin-on, 6-8 oz each
Yellow Onions 🧅 1 whole Thinly sliced, yellow or red
Roma Tomatoes 🍅 4 whole Halved lengthwise, seeds removed
Extra-Virgin Olive Oil 🫒 3 tbsp High quality, fruity variety
Fresh Lemon 🍋 1 whole Juiced, zest optional
Garlic Cloves 🧄 4 cloves Minced, fresh preferred
Fresh Dill 🌿 ¼ cup Chopped, stems removed
Fresh Parsley 🌿 0.2 cup Chopped, flat-leaf preferred
Diamond Crystal Kosher Salt 🧂 1 ½ tsp For seasoning, adjust to taste
Freshly Ground Black Pepper 🌶️ ½ tsp Coarsely ground
Crusty Baguette 🍞 1 whole For serving, sliced
Dried Oregano 🌿 ½ tsp Mediterranean blend preferred

The cod is the star, so grab fresh, skin-on fillets—they stay moist and crisp up beautifully. Whole Foods or local fish markets usually have the best quality, but any reputable seafood counter works. Look for fillets with a clean, ocean scent and firm texture—none of that fishy smell. The onions and tomatoes? Roma tomatoes hold up better than beefsteak when baking, but any firm variety works. I always grab extra onions—they caramelize into sweet, jammy bits that make this dish sing. For the olive oil, California Olive Ranch or Bertolli are my go-tos—they've got that bright, fruity punch that stands up to the seafood.

No fresh dill? Dried dill at one-third the amount gets you close, though it won't have that same bright flavor. Short on Roma tomatoes? Grape tomatoes work in a pinch, but they'll release more juice. The baguette can be any crusty bread—French or Italian loaves both work. Want more depth? Add a splash of white wine (about 2 tbsp) to the pan before baking. The oregano is non-negotiable though—it's that Mediterranean touch that ties everything together. Trader Joe's carries a great Mediterranean blend if you don't have dried oregano on hand.

This dish reheats beautifully—just pop it back in the oven at 350°F for 5-10 minutes. The cod is best eaten fresh, but the caramelized onions and tomatoes taste even better the next day. Store leftovers in an airtight container for up to 2 days. The baguette? Toast it fresh when serving—none of that sad, soggy bread. For extra flavor, sprinkle the cod with a pinch of red pepper flakes before baking. Trust me, it's worth the tiny effort.

❤️

Why You'll Love This Recipe

  • One-Pan Magic: I swear by this recipe when I’m too tired to wash dishes. Slice onions, halve tomatoes, toss everything on a sheet pan with the cod, a drizzle of olive oil, and a squeeze of lemon—then bake. That’s it. No pots, no pans, just clean-up that takes less time than microwaving leftovers.
  • Bright & Simple: The lemon cuts through the richness of the cod while the caramelized onions and tomatoes add this sweet, tangy depth. It’s not fancy, but it’s ridiculously good—like a Mediterranean vacation in your oven without the jet lag.
  • Meal Prep Hero: This holds up perfectly for lunches. Bake a big batch on Sunday, portion it out, and reheat slices in the toaster oven for crispy edges. My kids grab it straight from the fridge—no complaints, just clean plates.
  • Budget-Friendly Protein: Cod’s affordable, and you’re not drowning it in expensive sauces. A few fillets, a couple onions, some tomatoes, and olive oil stretch to feed four for under $20. Plus, leftovers reheat like they’re fresh—no dry, sad fish here.

Step-by-step instructions for baked cod with tomatoes and onions

Here's how to create a restaurant-worthy Mediterranean dish with minimal effort and maximum flavor.

1

Prepare the Cod and Vegetable Base

Preheat your oven to 375°F while you prepare the ingredients. Pat the 4 pieces cod fillets dry with paper towels—this ensures a crispy skin and prevents steaming. Place each fillet on a separate sheet of parchment paper, skin-side down, and season both sides generously with 1.5 teaspoons diamond crystal kosher salt and 0.5 teaspoon freshly ground black pepper. I like to press the seasoning firmly so it adheres well.

In a large bowl, combine the thinly sliced yellow onions and halved roma tomatoes (seeds removed). Drizzle with 1 tablespoon extra-virgin olive oil and toss gently to coat. Add the minced garlic cloves, 0.5 teaspoon dried oregano, and a pinch of salt to the vegetable mixture. Let it sit for 5 minutes while you finish prepping the cod.

2

Assemble the Baking Pan

Arrange the seasoned cod fillets in a single layer in a 9x13-inch baking dish (or similar size). The skin should face down to crisp beautifully. Spoon the onion-tomato mixture evenly around and between the fillets, creating a nest that will baste the cod as it bakes.

Drizzle the remaining 2 tablespoons extra-virgin olive oil over the top of the vegetables and cod. Squeeze the juice from the whole fresh lemon (about 2 tablespoons) evenly over the dish. The acidity will brighten the flavors and prevent the fish from overcooking. Sprinkle the 0.25 cup chopped fresh dill and 0.2 cup chopped fresh parsley over everything, pressing lightly so they stick.

3

Bake Until Flaky and Golden

Transfer the baking dish to the preheated oven and bake for 15 minutes. After this initial time, you'll notice the tomatoes begin to soften and the edges of the cod turn opaque. This is when the magic starts happening—don't peek yet, as opening the oven door can cause temperature fluctuations.

Continue baking for an additional 10-12 minutes until the cod flakes easily when tested with a fork and the tomatoes have collapsed slightly, releasing their juices. The skin should be golden brown and crisp, while the flesh remains tender. The total baking time should be 25-27 minutes—watch closely in the last 5 minutes to prevent overcooking.

4

Rest and Serve with Fresh Bread

Remove the dish from the oven and let it rest for 5 minutes before serving. This resting period allows the juices to redistribute, ensuring each bite is moist and flavorful. The cod should pull apart easily with a fork, and the tomatoes should be tender but still hold their shape slightly.

Slice the whole crusty baguette into thick pieces and serve alongside the cod. The crusty bread is perfect for soaking up the delicious tomato and herb sauce. Garnish each serving with an extra sprinkle of fresh parsley and a lemon wedge to brighten the plate. This dish comes together beautifully with minimal effort but delivers bistro-quality results every time.

👨‍🍳

Pro Tips For Making Baked Cod With Tomatoes And Onions

  • Preheat Pan, Not Just Oven: I learned this the hard way—cold pans make sad, steamed fish. Heat your baking dish (or skillet, if you’re stovetop-baking) for 5 minutes before adding anything. The onions and tomatoes will caramelize faster, and the cod won’t sit in a lukewarm pool while you wait for the oven to do its thing.
  • Slice Onions Thinly: Thin, even slices (about 1/8-inch) cook through without turning to mush. Thick rings? They’ll sit like rocks under the cod. Use a sharp knife and cut parallel to the root end—it’s faster and cleaner than you’d think.
  • Skip the Lemon Zest: Yes, lemon is bright, but zest can make the dish taste bitter if overdone. Stick to juice (1-2 tablespoons) and a wedge squeezed over the finished dish. The acid matters most—zest is just extra work unless you’re going for a fancy presentation.
  • Press Cod Flat: Uneven fillets cook unevenly. Gently press them down with your palm (wear a towel—it’s slippery) before adding the tomato-onion mix. This guarantees even browning and prevents one side from staying raw while the other flakes apart.

Wine and beer pairings for these flavors

White Wine Classics

A crisp Sauvignon Blanc from the Loire Valley is my go-to pairing for this dish—its bright acidity and citrus notes cut through the richness of the cod while complementing the sweet caramelized onions.

Look for a bottle with 12-13% ABV like Oyster Bay Sauvignon Blanc or Bouchard Père & Fils. The wine’s herbal undertones also echo the fresh dill and parsley in the recipe. 🍷

For something slightly richer, try a Vermentino from Sardinia. This Mediterranean white has a mineral finish that enhances the dish’s natural flavors without overpowering them. I love Cantina Mesu ’e Mesus Vermentino—it’s affordable and consistently delivers. Serve it slightly chilled at 45-48°F to highlight its crispness.

Light Red Options

If you prefer red wine, a Pinot Noir with subtle fruit notes works surprisingly well. Choose a New Zealand Pinot Noir like Felton Road Pinot Noir—its bright cherry flavors and silky texture balance the dish’s acidity.

Avoid heavy, tannic reds that would clash with the delicate cod. Decant for 15-20 minutes before serving to soften the wine’s edges.

For a more Mediterranean twist, try a Grenache rosé from Provence. The Whispering Angel rosé has a delicate strawberry flavor that pairs beautifully with the tomatoes and herbs. Serve it well-chilled at 40-45°F to maintain its freshness and complement the dish’s brightness.

Beer Pairings

A Belgian Witbier like Hoegaarden is my top beer recommendation. Its coriander and citrus notes mirror the lemon and herbs in the dish, while the effervescence cleanses your palate between bites. Serve it very cold at 38-40°F to enhance its refreshing qualities. 🍺

For a lighter option, try a German Pilsner like Warsteiner. Its crisp, hoppy profile balances the dish’s richness without competing. Avoid heavy stouts or dark ales—they’ll overpower the delicate flavors of the cod and vegetables.

Non-Alcoholic Options

For a refreshing non-alcoholic pairing, serve sparkling lemonade made with fresh lemon juice and top-quality sparkling water like San Pellegrino. Add a pinch of salt and a sprig of mint for a Mediterranean twist. The effervescence and citrus notes enhance the dish’s brightness.

Alternatively, try a cucumber-mint infused water. Thinly slice ½ cucumber and muddle with 4 mint leaves in a pitcher. Add ice and let it infuse for 30 minutes before serving. The cool, crisp flavors provide a perfect counterpoint to the warm, caramelized dish.

Nutrition facts

Servings 4
Amount Per Serving
Calories 320kcal
% Daily Value *
Total Fat 18g23%
Saturated Fat 3g15%
Cholesterol 90mg30%
Sodium 580mg25%
Total Carbohydrate 12g4%
Dietary Fiber 3g11%
Sugars 6g
Protein 36g72%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I substitute cod with another white fish?

Yes! This recipe works beautifully with halibut, sea bass, or mahi-mahi—just adjust cooking time slightly. Halibut needs 2-3 minutes less at 400°F since it stays moist longer. Avoid delicate fish like flounder, which can dry out too quickly. The tomato-onion base remains the same, so flavors stay consistent.

2

Why do my tomatoes turn mushy instead of caramelized?

Overcooking or using watery tomatoes causes mushiness. Use Roma tomatoes (they hold shape better) and bake at 375°F for only 25-27 minutes total. Halve them lengthwise and remove seeds to reduce excess juice. If your oven runs hot, reduce temp to 350°F and add 5 minutes to the baking time.

3

How do I make this dish ahead of time?

Assemble the dish up to 24 hours ahead and refrigerate uncovered (so flavors meld). Bake straight from the fridge—just add 5-7 extra minutes at 400°F. For best texture, reheat only the cod portion (microwave 1 minute or oven 10 minutes at 350°F) and warm the veggies separately to avoid sogginess.

4

Can I add other vegetables to this recipe?

Try zucchini slices (they soften nicely) or bell peppers (add 5 minutes to baking time). For extra Mediterranean flair, toss in cherry tomatoes or fennel bulbs (thinly sliced). Just reduce onions slightly to maintain balance—too many veggies can dilute the dish's signature tomato-onion flavor.

5

What's the secret to crispy cod skin?

Pat the fillets bone-dry before seasoning, and place them skin-side down in the pan. A light brush of olive oil on the skin before baking creates a nonstick barrier that crisps perfectly. Avoid overcrowding the pan—leave ½-inch space between fillets for even heat circulation. Bake at 400°F for crispiness without drying out the flesh.

★★★★★4.8(11 reviews)
Categories Side Dishes