Halibut With Zucchini Noodles and Basil
Seared halibut tops a tangle of quick zucchini noodles and blistered cherry tomatoes, finished with garlic, basil, and olive oil for a light, low-carb Mediterranean dinner.
Why You'll Love This Recipe
Pasta night, kept light enough that dinner does not sit heavy afterward, is the whole idea here. It fits busy cooks, people who like the flavors of the Mediterranean table, and anyone trying to work more fish into the week. Halibut is a friendly place to start if you find fish intimidating, because its firm texture holds together in the pan and gives you clear cues about when it is done.
The dish works because zucchini noodles do the job of pasta without the heavy load. They stay light and take on the garlic and olive oil in the pan, while the cherry tomatoes cook down into a fresh, loose sauce that clings to everything. Halibut sits on top as a sweet, mild anchor, and basil stirred in at the end keeps the whole plate smelling like a summer garden rather than a heavy kitchen.
It satisfies because it feels like a full plate of pasta while staying gentle on you. The noodles give you something to twirl, the tomatoes bring sweetness and acid, and the fish makes it a real dinner rather than a side. You finish feeling light but not shortchanged, which is a hard balance to strike. Because it comes together in one skillet, it is easy to make often, and it never feels like a compromise.
Ingredients
- 1 1/4 lb halibut fillets
- 4 zucchini, spiralized
- 1 1/2 cups cherry tomatoes
- 4 cloves garlic
- 3 tbsp olive oil
- 1/3 cup basil
- 1 tbsp lemon juice
- 1/3 tsp salt
Instructions
- Salt the zucchini noodles and let them drain: Spiralize the zucchini if it is not already done, put the noodles in a colander, and toss them with a pinch of the salt so they shed water while you cook. Salt pulls the moisture out ahead of time, and it has to go somewhere other than the finished pan, since zucchini noodles sitting in their own liquid boil instead of warming through.
- Sear the halibut 4 to 5 minutes a side: Pat the halibut dry and season with the remaining salt, then heat a tablespoon of the olive oil in a large skillet over medium-high and sear the fillets for 4 to 5 minutes a side, until they flake at about 145°F (63°C). Move them to a plate. Drying the fish first is what gives you a browned surface rather than a pale, steamed one.
- Blister the tomatoes 3 to 4 minutes: Add another tablespoon of oil to the same skillet, then the cherry tomatoes, and cook 3 to 4 minutes until they soften and begin to burst. Press one or two against the pan with a spoon to start them off, because a whole tomato holds its juice indefinitely and that juice is what becomes the sauce.
- Garlic for 30 seconds only: Stir in the minced garlic and cook 30 seconds, just until fragrant, taking care not to let it brown. Garlic scorches in a hot pan in well under a minute, and burnt garlic runs bitter through a dish this plain with nothing to cover it.
- Squeeze the noodles, then warm them briefly: Squeeze the zucchini gently to get the last of the water out, add it to the skillet with the last tablespoon of olive oil, and toss for 1 to 2 minutes, until barely tender and still with bite. Stop there, since zucchini goes from warm to limp in about a minute and there is no firming it up again.
- Lemon and basil off the heat: Take the pan off the burner, stir in the lemon juice and torn basil, then set the halibut back on top and serve. Both go in off the heat because lemon loses its brightness in a hot pan within a minute and basil blackens on contact, and they are the two things making this taste fresh rather than plain.
Variations
- Cod instead: Swap in cod or another firm white fish and cook to about 145°F (63°C) until it flakes.
- Spicy version: Add a pinch of red pepper flakes with the garlic for a low, steady heat.
- Cheese finish: Shave a little Parmesan over the top just before serving for a savory, salty note. Parmesan is dairy, so this version is no longer paleo or Whole30.
- Herb swap: Use fresh oregano or parsley in place of basil for a different Mediterranean lean.
- Olive boost: Toss a handful of halved Kalamata olives into the tomatoes for a briny depth. Olives add sodium, so pull back on any added salt.
Storage & Leftovers
Keep leftovers in an airtight container in the refrigerator for up to two days. Zucchini noodles soften and weep the longer they sit, so this dish is at its best fresh. If you know you will have leftovers, store the halibut separately from the noodles to slow that softening.
Reheat gently in a skillet over medium, just until warm, and drain any water the zucchini has released. A hot, quick reheat keeps the noodles from turning to mush. The halibut only needs a minute or two, since it is already cooked and can dry out if pushed too far.
This dish does not freeze well, since both zucchini and cooked halibut lose their texture once thawed. If you want to get ahead, spiralize the zucchini and halve the tomatoes a day early and keep them chilled. Then the meal cooks in one skillet in under twenty minutes when you are ready.
Notes & Tips
- Salt the zoodles: I salt the zucchini noodles and let them drain so they do not water down the pan.
- Get the pan hot: A properly hot skillet gives the halibut a golden crust instead of a gray, steamed surface.
- Do not crowd: I sear the fillets with space between them so they brown rather than steam.
- Barely cook the noodles: Zucchini needs only a minute or two; I pull it while it still has bite.
- Basil off heat: I stir the basil in after the heat is off so it stays green and fragrant.
- Taste before salt: Because the tomatoes concentrate as they cook, I taste before adding any extra salt.
Nutrition & Mindful Eating
- The zucchini strands, the burst tomatoes and the fish share one pan sauce made of oil, garlic, and tomato juice, and that shared liquid is what makes this a single dish rather than fish with a vegetable beside it.
- Zucchini spiralized into long strands cooks in about a minute and should come off the heat while it still has bite, since it holds so much water, and it brings potassium and gentle fiber to the bowl.
- Cherry tomatoes cooked in the oil until their skins split let out a sweet, concentrated juice, and the lycopene in them becomes easier for your body to take up once they have been heated in fat.
- Halibut laid over the strands stays in firm white flakes and takes on the garlic and lemon from the pan, bringing protein and omega-3 fats that give a very green bowl its substance.
- Garlic goes into the oil early and gently, basil goes in off the heat so it stays perfumed, and lemon lands last. Those three are the entire flavor of this dish and none of them needs more than a minute.
- As you eat, twirl the strands and see how much sweet tomato juice has gathered at the bottom of the bowl, then take the meal slowly enough to feel it settle before you are finished.
Frequently Asked Questions
Can I use a different fish?
Yes. Cod, haddock, or thick tilapia all sear well here; cook any white fish to about 145°F (63°C), where it turns opaque and flakes easily.
My zucchini noodles turned watery. How do I fix that?
Salt them and let them drain before cooking, then toss only a minute or two over high heat and pour off any liquid before plating.
Can I prep this ahead?
Spiralize the zucchini and halve the tomatoes up to a day early and chill them, then cook everything fresh so the noodles keep their bite.
Is this a good low-carb dinner?
Very much so. The zucchini noodles replace the starch, the halibut brings the protein, and olive oil, basil, and garlic keep it Mediterranean. The zucchini noodles keep it light underneath.

