This oven-roasted fish with tomatoes and olives is my go-to when I want a healthy dinner that tastes like something you’d order at a coastal restaurant—bright, briny, and done fast with minimal cleanup.

Everything bakes together on one pan: tender white fish, burst cherry tomatoes, salty olives, garlic, and a splash of lemon. The tomatoes create a quick pan sauce in the oven, so you don’t need extra steps on the stove.
Why you’ll love this recipe
- Fast weeknight dinner: mostly hands-off time in the oven
- One-pan cleanup with big Mediterranean flavor
- Flexible: works with many types of fish and olive varieties
- Healthy and naturally gluten-free
Ingredients you’ll need
- White fish fillets (cod, halibut, haddock, tilapia, or snapper)
- Cherry or grape tomatoes
- Kalamata or Castelvetrano olives, pitted and halved
- Olive oil
- Garlic
- Lemon (zest and juice)
- Dried oregano (or Italian seasoning)
- Crushed red pepper flakes (optional)
- Kosher salt and black pepper
- Fresh parsley or basil (for finishing)
Best fish to use
Choose a mild, flaky white fish that roasts quickly. Cod and haddock are great everyday options; halibut is thicker and more “steak-like.” Thinner fillets (like tilapia) will cook faster, so start checking early.
How to make oven-roasted fish with tomatoes and olives
- Preheat the oven to 425°F. Lightly oil a rimmed sheet pan or large baking dish.
- Toss tomatoes, olives, garlic, olive oil, oregano, salt, pepper, and red pepper flakes (if using) on the pan.
- Roast for 10 minutes to get the tomatoes started and build flavor.
- Push the tomato-olive mixture to make space for the fish. Pat fish dry, then season with salt, pepper, and a drizzle of olive oil.
- Nestle the fish into the mixture and return to the oven until the fish flakes easily, 8–12 minutes depending on thickness.
- Finish with lemon zest and juice and a shower of chopped parsley or basil. Spoon the warm tomatoes and olives over the fish to serve.

How to know when the fish is done
- Visual: fish turns opaque and flakes in large pieces with a fork.
- Timing: most 1-inch fillets take about 10 minutes at 425°F.
- Temperature (most reliable): 145°F in the thickest part.
Tips for the best flavor
- Pat the fish dry so it roasts instead of steaming.
- Use good olives. Briny olives are the “sauce seasoning” here, so taste and adjust salt lightly.
- Add lemon at the end to keep it bright and fresh.
- If your tomatoes aren’t very sweet, add a tiny pinch of sugar to balance.
Easy variations
- Add capers for extra briny punch.
- Swap oregano for thyme or rosemary.
- Stir in baby spinach right after baking so it wilts into the pan sauce.
- Use salmon instead of white fish; increase cook time as needed.
What to serve with it
- Crusty bread to soak up the tomato-olive juices
- Cooked orzo, couscous, or rice
- Roasted potatoes or a simple arugula salad
- Steamed green beans or asparagus
Storage and reheating
- Refrigerate leftovers in an airtight container for up to 2 days.
- Reheat gently in a 300°F oven just until warmed through to avoid drying out.
- Cold leftovers are also great flaked over a salad with extra lemon and olive oil.
Oven-Roasted Fish with Tomatoes and Olives (Recipe)
- Prep time: 10 minutes
- Cook time: 18–22 minutes
- Total time: about 30 minutes
- Servings: 4
Ingredients
- 1 1/2 lb white fish fillets (4 fillets, about 6 oz each)
- 2 cups cherry tomatoes
- 3/4 cup pitted olives, halved (Kalamata or Castelvetrano)
- 3 tbsp olive oil, plus more for drizzling
- 3 cloves garlic, thinly sliced
- 1 tsp dried oregano
- 1/4 tsp crushed red pepper flakes (optional)
- 3/4 tsp kosher salt, divided (plus more to taste)
- 1/2 tsp black pepper
- 1 lemon (zest and 2 tbsp juice, plus wedges for serving)
- 2 tbsp chopped fresh parsley or basil
Instructions
- Preheat oven to 425°F. Lightly oil a rimmed sheet pan or large baking dish.
- Add tomatoes, olives, garlic, olive oil, oregano, red pepper flakes (if using), 1/2 tsp salt, and pepper to the pan. Toss to coat and spread into an even layer.
- Roast for 10 minutes.
- Pat fish dry. Season both sides with remaining 1/4 tsp salt (and a little extra if needed) and a drizzle of olive oil.
- Remove pan from oven, push the tomato mixture around to create space, and nestle fish fillets into the pan.
- Return to oven and roast 8–12 minutes, or until fish flakes easily and reaches 145°F in the thickest part.
- Finish with lemon zest, lemon juice, and fresh herbs. Spoon tomatoes and olives over the fish and serve right away.
Notes
- Thinner fillets cook faster; start checking at 7–8 minutes after adding the fish.
- Olives vary in saltiness—taste the pan sauce before adding extra salt.
- For extra sauce, add a splash (2–3 tbsp) of white wine or chicken broth to the pan with the tomatoes.

Not sure what to cook tonight? Some nights, you just want something simple that works without overthinking it. If you’re looking for easy, reliable meal ideas, take a look at our easy dinner recipes that always work. You’ll find go-to meals you can come back to anytime.




