This is the kind of weeknight recipe that feels like a small vacation. Tender white fish bakes in a juicy mix of tomatoes, olives, garlic, and herbs, creating its own sauce right in the pan. It’s simple to prep, fast to cook, and loaded with color and flavor.
Pair it with crusty bread or a scoop of couscous, and dinner feels both effortless and special. If you’re looking for a light meal that still satisfies, this one’s a keeper.
Why This Recipe Works

The heat of the oven concentrates the tomatoes, turning them into a sweet, tangy base that keeps the fish moist. Briny olives and a splash of lemon add contrast, so every bite tastes balanced.
Using a mild white fish lets the Mediterranean flavors shine without competing. Best of all, it’s a one-pan dish, so cleanup is quick and you keep all those delicious cooking juices in one place.
Shopping List
- White fish fillets (cod, halibut, haddock, sea bass, or snapper), about 1.5 pounds
- Cherry or grape tomatoes, 3 cups (or 2 large ripe tomatoes, chopped)
- Kalamata or Castelvetrano olives, 1 cup, pitted and halved
- Red onion, 1 small, thinly sliced
- Garlic, 3–4 cloves, thinly sliced
- Extra-virgin olive oil, 3–4 tablespoons
- Lemon, 1 (zest and juice)
- Capers, 1–2 tablespoons (optional, but great)
- Fresh herbs: parsley and/or basil, a small bunch
- Dried oregano, 1 teaspoon (or fresh oregano if you have it)
- Crushed red pepper flakes, a pinch (optional)
- Kosher salt and freshly ground black pepper
How to Make It

- Heat the oven: Preheat to 400°F (200°C). Lightly oil a medium baking dish or sheet pan with a rim.
- Build the base: In the baking dish, combine tomatoes, olives, red onion, garlic, capers (if using), oregano, and a generous drizzle of olive oil.
Add a pinch of red pepper flakes if you like heat. Season with salt and pepper, then toss to coat.
- Roast the vegetables: Spread in an even layer and bake for 10–12 minutes, until the tomatoes start to soften and release juices. This step gives the fish a flavorful bath to cook in.
- Season the fish: Pat the fillets dry.
Rub with a little olive oil, then season both sides with salt, pepper, and lemon zest.
- Nestle and bake: Remove the pan from the oven, give the tomato mixture a quick stir, and nestle the fish into the sauce. Spoon some of the tomatoes and olives over the top. Return to the oven and bake for 8–12 minutes, depending on thickness, until the fish flakes easily and is opaque in the center.
- Finish with brightness: Squeeze fresh lemon juice over the fish.
Scatter chopped parsley and/or basil on top. Taste the pan juices and adjust salt, pepper, or lemon as needed.
- Serve: Spoon the fish and saucy vegetables over couscous, orzo, rice, or alongside crusty bread to soak up the juices. A simple green salad on the side is perfect.
Keeping It Fresh
This dish is best the day it’s baked, when the fish is tender and the tomatoes are vibrant.
If you have leftovers, store them in an airtight container in the fridge for up to 2 days. Reheat gently in a low oven or on the stove over low heat, adding a splash of water or olive oil to keep the fish from drying out. Avoid the microwave if you can—it can make the fish rubbery.

Benefits of This Recipe
- Nutrient-rich: White fish offers lean protein, while tomatoes bring antioxidants like lycopene.
Olives add heart-healthy fats.
- Weeknight-friendly: From start to finish, you’re looking at about 30–35 minutes with very little hands-on time.
- One-pan cooking: Fewer dishes and more flavor, since everything mingles as it bakes.
- Flexible and forgiving: Swap the fish, use different olives, or tweak the herbs based on what you have.
- Mediterranean flavors: Bright, fresh, and satisfying without being heavy.
Pitfalls to Watch Out For
- Overcooking the fish: This is the biggest risk. Start checking at 8 minutes. The fish should flake easily and look moist, not dry.
- Skipping the initial roast: If you don’t pre-roast the tomato mixture, the fish may sit in watery juices instead of a concentrated sauce.
- Underseasoning: Tomatoes and fish both need salt.
Taste the sauce and finish with lemon and herbs to lift everything.
- Too much liquid: Very ripe, large tomatoes can release a lot of juice. A quick roast upfront reduces excess liquid and boosts flavor.
Alternatives
- Fish swaps: Try salmon for a richer dish (add 3–5 minutes to bake time), or use tilapia, pollock, or hake. Thick fillets need a bit longer.
- Veggie additions: Add sliced fennel, zucchini, or bell pepper to the roasting mix.
Keep pieces small so they cook quickly.
- Olive and caper variations: Use green olives for a milder, buttery bite, or omit capers if you prefer less brine.
- Herb twist: Swap oregano for thyme, or finish with dill and lemon zest for a lighter, brighter flavor.
- Grain base: Serve over couscous, farro, quinoa, or a garlicky mash for a cozy option.
- Spice it up: Add a teaspoon of smoked paprika or a pinch of Aleppo pepper for warmth and depth.
FAQ
Can I use frozen fish?
Yes. Thaw it fully in the fridge overnight or under cold running water, then pat very dry before seasoning. Removing excess moisture helps the fish bake evenly and keeps the sauce from getting watery.
How do I know when the fish is done?
Look for opaque flesh that flakes easily with a fork.
If you use a thermometer, aim for 130–135°F in the thickest part for moist, tender results. It will continue to cook slightly after leaving the oven.
What if I don’t have cherry tomatoes?
Use canned whole or diced tomatoes (drained) or chopped ripe tomatoes. If using canned, choose good-quality tomatoes and consider adding a pinch of sugar if they taste sharp.
Can I make this ahead?
You can prep the tomato-olive mixture a few hours ahead and keep it in the fridge.
When ready, roast the mixture, then add the fish and bake. Cook the fish just before serving for the best texture.
Is there a dairy-free or gluten-free version?
The recipe is naturally dairy-free and gluten-free. Just serve it with a gluten-free side like rice or quinoa if needed.
What wine pairs well with this?
A crisp white like Sauvignon Blanc, Pinot Grigio, or Vermentino works well.
If you prefer red, try a light, chillable style like a young Pinot Noir or Gamay.
Can I use a cast-iron skillet?
Absolutely. A well-seasoned cast-iron or enameled skillet is perfect for roasting the vegetables and baking the fish in the same pan.
How can I make it more filling?
Add chickpeas to the tomato mixture before roasting, or serve the dish over orzo or potatoes. Garlic toast for dipping is always a hit.
Wrapping Up
Mediterranean Baked Fish with Tomatoes and Olives is the kind of recipe that proves simple food can still wow.
It’s fast, colorful, and packed with flavor from everyday ingredients. Keep it in your weeknight rotation, and switch up the herbs or sides to keep things fresh. With minimal effort and maximum payoff, this is one of those dishes you’ll make again and again.

