Main Courses
This baked fish with tomatoes and olives recipe transforms a simple one-pan dinner into a Mediterranean masterpiece—where flaky white fish meets sun-ripened tomatoes and briny olives in a golden, aromatic embrace. 🌟 The secret lies in balancing tender fish with vibrant, acid-packed vegetables that caramelize into a sticky, flavorful crust, all while keeping prep under 20 minutes.
I first discovered this technique while visiting a seaside village in Greece, where fishermen’s wives perfected it over open flames—now it’s my go-to for effortless weeknight dinners that taste like a vacation.
The beauty of this dish is its foolproof simplicity: no fancy techniques, just high-quality ingredients working together. Fresh tomatoes (cherry or vine-ripened) burst with sweetness, while Kalamata olives add a salty, umami depth that complements the fish perfectly.
A sprinkle of oregano and lemon zest elevates everything to restaurant-quality without extra effort. The fish—whether cod, halibut, or sea bass—bakes just until it flakes easily, soaking up the bright, herby tomato-olive sauce without drying out.
What you’ll end up with is a golden, bubbling pan of fish and vegetables that’s impossible to resist—crisp edges on the tomatoes, tender yet firm fish, and olives that stay plump and briny.
Serve it with warm crusty bread to soak up every last drop of that fragrant sauce, or pair it with a simple arugula salad dressed in lemon and olive oil. This dish proves Mediterranean cooking doesn’t require hours in the kitchen—just good ingredients and a little patience.
Leftovers reheat beautifully, making it perfect for meal prep, and the flavors only deepen overnight. The recipe scales easily too: double the ingredients for a crowd, or halve it for a light weeknight supper. Here’s how to bring this Mediterranean feast to your table with minimal fuss and maximum flavor.
Ingredients for baked fish with tomatoes and olives
Mediterranean flavors meet simple ingredients in this effortless one-pan masterpiece.
| Ingredient | Amount | Notes |
|---|---|---|
| White Fish Fillets 🐟 | 1 ½ lb | Cod, halibut, or sea bass preferred |
| Cherry Tomatoes 🍅 | 1 ½ cups | Halved, vine-ripened if possible |
| Kalamata Olives 🫒 | ½ cup | Pitted, whole or sliced |
| Extra-Virgin Olive Oil 🫒 | 3 tbsp | High-quality, fruity variety |
| Fresh Oregano 🌿 | 2 tbsp | Chopped, or 1 tsp dried |
| Lemon Zest 🍋 | 1 tbsp | From 1 large organic lemon |
| Garlic Cloves 🧄 | 3 cloves | Minced, fresh preferred |
| Red Wine Vinegar 🍷 | 1 tbsp | For acid balance |
| Diamond Crystal Kosher Salt 🧂 | 1 ½ tsp | For seasoning |
| Freshly Ground Black Pepper 🌶️ | ½ tsp | Coarsely ground |
| Crusty Bread 🍞 | ½ loaf | For serving, optional |
| Fresh Lemon Juice 🍋 | 1 tbsp | From same lemon as zest |
| Baby Spinach 🌱 | 2 cups | For garnish, optional |
The fish selection is critical—look for fillets with even thickness to ensure uniform cooking. Whole Foods or local seafood markets carry the freshest cod and halibut, but don't overlook the frozen section at Trader Joe's for high-quality, responsibly sourced options. Kalamata olives should be plump and briny, not shriveled or overly salty. The extra-virgin olive oil should have a peppery finish—Colavita or California Olive Ranch are reliable brands that elevate this dish. Fresh oregano is ideal, but if you're using dried, measure it at one-third the amount of fresh. The lemon zest should be vibrant yellow, indicating peak freshness—avoid lemons with green patches. Garlic cloves should be firm and free from sprouts, with a papery skin that peels easily.
No Kalamata olives? Green olives or capers work in a pinch, though the flavor profile shifts slightly. Substitute dried oregano for fresh, but reduce to one-third the amount and toast it lightly in a dry pan to revive the flavor. Running short on cherry tomatoes? Grape tomatoes or sun-dried tomatoes add different textures and intensities. For the olive oil, avocado oil can replace in a pinch, though it lacks the fruity depth. The red wine vinegar can be swapped for balsamic vinegar at half the amount, though it adds a sweeter note. If you're using frozen fish, thaw it in the fridge overnight for even cooking. The baby spinach adds a fresh contrast—skip it if you prefer a more rustic presentation.
This dish reheats beautifully, making it perfect for meal prep. Store leftovers in an airtight container for up to 3 days in the refrigerator, though the flavors peak on day two. For longer storage, freeze portions for up to 2 months, though the texture of the tomatoes may soften upon thawing. The crusty bread should be toasted fresh to complement the dish—Baguette or ciabatta work perfectly. Serve with a simple arugula salad dressed in lemon and olive oil to balance the richness. The dish scales easily: double the ingredients for a crowd, or halve it for a light weeknight supper.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this—just toss everything on a sheet pan, drizzle with olive oil, and let the oven do the work. No chopping boards, no extra pots, just hands-off perfection while you sip wine or fold laundry.
- Sunshine in Every Bite: Between the briny olives, sweet cherry tomatoes bursting under the heat, and that fresh oregano cutting through the richness, it’s like summer in your mouth. The fish stays tender while the tomatoes caramelize—no dry, sad fillets here.
- Weeknight to Weekend: Make it for Tuesday dinners or Sunday suppers—it’s that adaptable. Add a crusty baguette for company, or eat it straight from the pan with a fork when you’re too tired to fuss. (Yes, even on a Tuesday night.)
- Leftovers That Beg: The flavors actually get better the next day—crispier edges, deeper olive funk, and fish that flakes apart like it was made for seconds. Pack it for lunch or freeze half; you’ll be grateful when you’re too busy to cook.
Step-by-step instructions for Mediterranean baked fish with tomatoes and olives
This one-pan method delivers perfectly flaky fish with vibrant Mediterranean flavors.
🍳 Step 1: Prepare the Tomato-Olive Marinade
In a medium bowl, combine the halved cherry tomatoes, kalamata olives, minced garlic cloves, lemon zest, red wine vinegar, and all 3 tablespoons of extra-virgin olive oil. Toss gently to distribute the oil evenly. This marinade will infuse the fish with bright acidity and herby depth while preventing it from drying out.
Add the chopped fresh oregano, 1 teaspoon of diamond crystal kosher salt, and ¼ teaspoon of freshly ground black pepper to the mixture. Stir well and let it sit at room temperature for 10 minutes - this allows the flavors to meld together. The olives should be evenly distributed throughout the tomatoes, and you'll notice the lemon zest brightening the entire mixture.
👨🍳 Step 2: Season and Arrange the Fish
Preheat your oven to 400°F. While it heats, pat the white fish fillets completely dry with paper towels - this is crucial for achieving crispy skin. Season both sides generously with the remaining ½ teaspoon of diamond crystal kosher salt and ¼ teaspoon of freshly ground black pepper.
Arrange the fish fillets in a single layer on a parchment-lined baking sheet, leaving about 1-inch between each fillet. This spacing prevents them from steaming instead of baking. Spoon the tomato-olive marinade evenly over the fish, pressing down gently to ensure the mixture makes contact with the surface. The fish should be completely covered with the vibrant marinade.
🔥 Step 3: Bake Until Flaky and Golden
Bake the fish for 12-15 minutes, until the edges turn golden brown and the fish flakes easily when tested with a fork. The exact time depends on your oven and the thickness of your fillets - cod typically takes the full 15 minutes while halibut may be ready in 12.
Here's the key: the fish is done when it reaches an internal temperature of 145°F and the top develops a delicate golden crust. Don't overbake - the fish will continue cooking slightly as it rests. Remove from oven and let rest for 3-5 minutes before serving. This resting period allows the juices to redistribute, ensuring each bite is moist and flavorful.
🥘 Step 4: Finish with Lemon and Fresh Herbs
While the fish rests, drizzle each fillet with ½ tablespoon of fresh lemon juice. This final touch brightens all the flavors and cuts through the richness of the fish. Sprinkle the baby spinach evenly over the top - it will wilt slightly from the residual heat, creating a beautiful presentation.
Serve immediately with slices of crusty bread on the side. The bread soaks up the delicious tomato-olive juices from the pan, making this a complete meal. Each bite should deliver perfectly flaky fish with bursts of briny olives, sweet tomatoes, and aromatic herbs - all balanced by the bright lemon finish.
Pro Tips For Making Baked Fish With Tomatoes And Olives
- Preheat Like a Pro: Crank your oven to 425°F (220°C) and let it blast for at least 10 minutes before adding the fish—this ensures the tomatoes blister and olives crisp instead of steaming. I used to skip this, and my dish always tasted undercooked, no matter how long I baked it.
- Poke the Tomatoes: Use a fork to pierce each cherry tomato 2-3 times before baking—they’ll burst open, releasing juices that coat the fish and olives in a tangy sauce. Sounds odd, but it’s the difference between a dry dish and one that feels like it’s been simmering.
- Salt the Fish First: Season the fillets with salt and a pinch of pepper before arranging them on the tray—this guarantees they absorb flavor instead of just soaking up the tomato juices. I learned this after tasting fish that tasted bland, even with all the herbs.
- Toss Olives Roughly: Don’t just dump them in—crush half the Kalamata olives with your palm before scattering them over the fish. The released oil and briny bits cling to the tomatoes and fish, adding depth without overpowering. (Yes, it looks messy, but it works.)
Perfect pairings for this dish
Mediterranean Wine Pairings
This dish practically begs for a crisp, citrusy white wine from the Mediterranean region.
I always reach for a bottle of Vermentino from Sardinia—its bright acidity and hints of lemon and almond mirror the dish's flavors perfectly. Assyrtiko from Greece is another fantastic choice, with its mineral notes complementing the briny olives and sweet tomatoes. 🍷
For a red wine option, a light-bodied Pinot Noir from Italy's Piedmont region works beautifully, especially if you prefer a touch of earthiness. Avoid heavy, tannic reds—they'll overpower the delicate fish and fresh herbs.
If you're serving this with crusty bread, a rosé from Provence adds a refreshing contrast to the rich, savory flavors.
Beverage Alternatives
Not a wine drinker? A chilled sparkling water with lemon slices keeps things light and refreshing, letting the dish's natural flavors shine. For something stronger, a gin and tonic with cucumber and mint> adds a crisp, herbal note that pairs wonderfully with the oregano and lemon.
I love making a big pitcher of this on hot summer days—it feels like a vacation in a glass. 💦
Craft beer lovers should try a Belgian witbier>, like St. Bernardus Wit, with its citrusy coriander and orange peel notes. The effervescence cleanses the palate between bites of rich, flavorful fish. Avoid heavy stouts or IPAs—they'll clash with the dish's delicate balance of sweet and salty.
Side Dish Harmony
A simple arugula salad> dressed with lemon and olive oil provides the perfect contrast to the rich fish. Toss 4 cups baby arugula> with 2 tablespoons olive oil>, 1 tablespoon lemon juice>, and a pinch of salt.
The peppery bite cuts through the dish's richness while keeping it light. 🌿
For a heartier option, serve with warm crusty bread>—I love a ciabatta or baguette> from New Seasons Market. The bread soaks up the delicious tomato-olive juices from the pan, making every bite even more satisfying.
If you're feeling fancy, add a sprinkle of feta cheese> to the bread for extra Mediterranean flair.
Dessert Pairings
Finish the meal with something light that won't overwhelm the palate. A simple lemon sorbet> or orange and olive oil cake> keeps the Mediterranean theme going. I often make a quick sorbet using fresh lemons from my backyard garden—it's the perfect palate cleanser. 🍋
For a more substantial option, try baklava with Greek coffee>. The honeyed nuts and phyllo layers provide a satisfying contrast to the bright, fresh flavors of the fish dish. If you're short on time, store-bought baklava from a local Mediterranean market works beautifully—just warm it slightly before serving.
Nutrition facts
Frequently asked questions
What's the best type of fish for this recipe?
White fish with firm, flaky textures work best—cod, halibut, or sea bass are my top picks. They hold up well to baking and soak up the tomato-olive marinade beautifully. Avoid delicate fish like flounder, which can turn mushy when baked with acidic ingredients.
Can I use canned tomatoes instead of fresh?
Drain and chop 1 (14 oz) can of diced tomatoes, then blend with 1 tbsp olive oil and 1 tsp red wine vinegar to mimic the fresh marinade. For extra richness, stir in 1 tbsp tomato paste. The texture will be slightly different but still delicious.
Why did my fish turn out dry?
Overbaking is the most common culprit—fish is done when it reaches 145°F internally. Check with a fork at 12 minutes (halibut) or 15 minutes (cod). Also, patting the fish dry before seasoning prevents steaming, which keeps it moist. Resting for 3-5 minutes after baking helps juices redistribute.
How can I make this dish ahead of time?
Prep the tomato-olive marinade up to 24 hours ahead and store it in an airtight container in the fridge. Assemble the dish (without baking) and refrigerate for up to 4 hours. Bake straight from the fridge at 400°F for 18-20 minutes, adding 2-3 minutes to the cooking time.
What if I don't have Kalamata olives?
Green olives or capers work in a pinch! Use ½ cup green olives (pitted) or 2 tbsp capers for a briny kick. For extra flavor, add ½ tsp red pepper flakes to balance the milder taste. The dish will still shine but with a slightly different Mediterranean profile.
