Quick Recipe Version (TL;DR)
Quick Ingredients
- 1.5 lb (680 g) firm white fish fillets (cod, haddock, halibut or similar)
- 1 tsp kosher salt, divided, plus more to taste
- 1/2 tsp freshly ground black pepper, divided
- 4 Tbsp extra-virgin olive oil, divided
- 2 large yellow onions, thinly sliced
- 4 garlic cloves, thinly sliced
- 1 lb (450 g) ripe tomatoes, chopped (or 1 can 14.5 oz crushed tomatoes)
- 1/2 cup dry white wine (or fish/vegetable stock)
- 2 Tbsp tomato paste
- 1 tsp dried oregano
- 1/2 tsp sugar (optional, to balance acidity)
- 1/4 cup chopped fresh parsley, plus extra for garnish
- 1 small lemon, cut into wedges (for serving)
Do This
- 1. Preheat oven to 375°F (190°C). Pat fish dry; season with half the salt and pepper. Set aside.
- 2. In a large skillet, heat 3 Tbsp olive oil over medium heat. Cook onions with a pinch of salt until very soft and lightly golden, 10–12 minutes.
- 3. Add garlic and cook 1 minute. Stir in tomatoes, white wine, tomato paste, oregano, sugar (if using), remaining salt and pepper. Simmer 8–10 minutes until slightly thickened.
- 4. Stir in chopped parsley. Taste and adjust seasoning.
- 5. Spread half the tomato-onion mixture in a lightly oiled 9×13 in (23×33 cm) baking dish. Arrange fish fillets on top in a single layer.
- 6. Spoon remaining tomato mixture over fish. Drizzle with remaining 1 Tbsp olive oil.
- 7. Bake uncovered 25–30 minutes, until fish flakes easily with a fork. Rest 5 minutes, garnish with parsley, and serve with lemon wedges.
Why You’ll Love This Recipe
- Classic Greek comfort food with bright tomato, onion, garlic, and olive oil flavors that feel both cozy and light.
- Perfect for weeknights: mostly hands-off baking time and simple, familiar ingredients.
- Builds big flavor with slow-cooked, sweet onions and a rich tomato base, while keeping the fish delicate and flaky.
- Versatile: use almost any firm white fish, and serve with bread, rice, potatoes, or a crisp green salad.
Grocery List
- Produce: 2 large yellow onions, 4 garlic cloves, 1 lb ripe tomatoes (or cherry tomatoes), 1 small bunch flat-leaf parsley, 1 lemon
- Dairy: Optional: feta cheese for serving
- Pantry: 1.5 lb firm white fish fillets, extra-virgin olive oil, kosher salt, black pepper, dried oregano, tomato paste, dry white wine (or stock), sugar (optional)
Full Ingredients
For the Fish
- 1.5 lb (680 g) firm white fish fillets, about 4 pieces (cod, haddock, halibut, pollock, or sea bass)
- 1/2 tsp kosher salt
- 1/4 tsp freshly ground black pepper
- 1 Tbsp extra-virgin olive oil (for drizzling on top before baking)
For the Tomato–Onion Base
- 3 Tbsp extra-virgin olive oil
- 2 large yellow onions, halved and thinly sliced (about 4 cups)
- 4 garlic cloves, thinly sliced or minced
- 1 lb (450 g) ripe tomatoes, chopped (or 1 can 14.5 oz / 400 g crushed or diced tomatoes)
- 1/2 cup (120 ml) dry white wine (such as Sauvignon Blanc or Pinot Grigio) or fish/vegetable stock
- 2 Tbsp tomato paste
- 1 tsp dried oregano (Greek oregano if available)
- 1/2 tsp kosher salt (plus more to taste)
- 1/4 tsp freshly ground black pepper
- 1/2 tsp sugar (optional, to soften acidity if tomatoes are very tart)
- 1/4 cup (about 10 g) chopped fresh flat-leaf parsley, loosely packed
For Serving (Optional but Recommended)
- 2–3 Tbsp chopped fresh parsley, for garnish
- 1 small lemon, cut into wedges
- Crusty bread, rice, or roasted potatoes, for serving
- Crumbled feta cheese, to sprinkle on top at the table (optional, not traditional everywhere but delicious)

Step-by-Step Instructions
Step 1: Preheat the oven and prepare the fish
Preheat your oven to 375°F (190°C). Lightly oil a 9×13 inch (23×33 cm) baking dish or similar ovenproof dish.
Pat the fish fillets dry very well with paper towels on both sides. This helps them bake more evenly and prevents excess liquid from diluting the sauce. Season the fish lightly with 1/2 teaspoon kosher salt and 1/4 teaspoon black pepper. Set aside at room temperature while you prepare the tomato-onion base (about 10–15 minutes is perfect).
Step 2: Slowly caramelize the onions
In a large, wide skillet, heat 3 tablespoons olive oil over medium heat. Add the sliced onions and a small pinch of salt. Cook, stirring occasionally, for 10–12 minutes until the onions are very soft, translucent, and beginning to turn light golden in spots.
Keep the heat moderate so the onions soften and sweeten without burning. If they start browning too quickly, lower the heat slightly and add a tablespoon of water to loosen any browned bits. This gentle cooking step builds the sweet, rich base that makes Psari Plaki so flavorful.
Step 3: Add garlic, tomatoes, and seasonings
Add the sliced or minced garlic to the onions and cook for 30–60 seconds, just until fragrant. Do not let the garlic brown, or it will turn bitter.
Stir in the chopped tomatoes (or canned tomatoes with their juices), 1/2 cup white wine or stock, 2 tablespoons tomato paste, 1 teaspoon dried oregano, 1/2 teaspoon kosher salt, 1/4 teaspoon black pepper, and the 1/2 teaspoon sugar if using.
Mix well to dissolve the tomato paste. Bring the mixture to a gentle simmer and cook for 8–10 minutes, stirring occasionally, until slightly thickened and saucy. You are aiming for a rich, spoonable mixture that is not too watery but still has enough liquid to keep the fish moist while baking.
Step 4: Finish the sauce with parsley and taste
Take the skillet off the heat and stir in the 1/4 cup chopped fresh parsley. Taste the sauce carefully. Adjust with more salt, pepper, or a pinch more sugar if the tomatoes are very acidic. The sauce should taste bright, savory, and well seasoned, since it is the main seasoning for the mild fish.
If the sauce seems overly thick (almost paste-like), stir in 2–3 tablespoons of water or stock. If it is too thin and soupy, return it to the heat for a few more minutes to reduce slightly.
Step 5: Assemble the baking dish
Spoon about half of the tomato-onion mixture into the prepared baking dish and spread it out in an even layer. This creates a flavorful bed that keeps the fish from sticking and infuses it with moisture and aromatics.
Lay the seasoned fish fillets on top of the sauce in a single layer. Try not to overlap the pieces so they cook evenly. Spoon the remaining tomato-onion mixture evenly over and around the fish, covering most of the surface but allowing a few spots of fish to peek through.
Drizzle the top with the remaining 1 tablespoon olive oil. This adds a lovely sheen and deepens the flavor of the finished dish.
Step 6: Bake until the fish is tender and flaky
Place the baking dish in the preheated oven and bake, uncovered, for 25–30 minutes, depending on the thickness of your fillets. Thinner fillets may be done closer to 20–22 minutes, so start checking early.
The fish is done when it flakes easily with a fork and is opaque all the way through. An instant-read thermometer inserted into the thickest part of the fish should read about 135–140°F (57–60°C). The tomato-onion mixture will be bubbly around the edges and slightly caramelized on top.
Remove from the oven and let rest for 5 minutes. This brief resting time allows the juices to settle so the fish stays moist when you serve it.
Step 7: Garnish and serve
Just before serving, sprinkle over 2–3 tablespoons chopped fresh parsley for fresh color and aroma. Serve the Psari Plaki straight from the baking dish, with lemon wedges on the side so everyone can add a bright squeeze of lemon to taste.
This dish is wonderful with crusty bread (to soak up the tomato-olive oil juices), rice, or roasted potatoes. If you like, offer some crumbled feta at the table and let diners sprinkle a little over their portions. Serve warm, not piping hot, so the flavors come through clearly.
Pro Tips
- Dry the fish well: Patting the fillets very dry before seasoning helps them bake more evenly and prevents extra liquid from watering down the sauce.
- Take your time with the onions: Do not rush the onion step. The slow softening and slight caramelization are key to the signature sweetness of Psari Plaki.
- Choose the right fish: Use a firm, mild white fish that holds together as it bakes (cod, haddock, halibut, pollock, or sea bass). Very thin or delicate fillets may overcook quickly.
- Adjust the acidity: Tomatoes can vary. If the sauce tastes sharp, a small pinch of sugar and a generous splash of good olive oil will round out the flavor.
- Let it rest: A short rest after baking helps the fish reabsorb some juices and makes it easier to serve neat portions.
Variations
- With potatoes (more traditional style): Slice 2 medium waxy potatoes very thinly, parboil for 5 minutes, then layer them in the bottom of the dish under the first layer of sauce. You may need to extend the baking time by 10–15 minutes, until the potatoes are tender.
- Olive and caper twist: Stir 1/4 cup pitted Kalamata olives and 1–2 tablespoons capers into the sauce before baking for a brinier, more robust flavor.
- Spiced version: Add 1/2 teaspoon ground cumin and a pinch of red pepper flakes to the tomato mixture for a warmer, gently spicy character.
Storage & Make-Ahead
Psari Plaki is best eaten fresh, but leftovers keep well. Cool the dish to room temperature, then transfer leftovers to an airtight container and refrigerate for up to 2 days. Reheat gently, covered, in a 325°F (165°C) oven until warmed through, or in a covered skillet over low heat. Avoid vigorous boiling, which can dry out the fish.
You can make the tomato-onion base up to 2 days ahead. Store it in the fridge, then bring it to room temperature, assemble with the seasoned fish, and bake just before serving. This make-ahead option is great for entertaining, since most of the work is done in advance.
Nutrition (per serving)
Approximate values for 1 of 4 servings (without bread, sides, or optional feta): about 280–320 calories, 26 g protein, 15–18 g fat (mostly from olive oil), 9–12 g carbohydrates, 2–3 g fiber, and 380–450 mg sodium. Actual values will vary with the type of fish, exact amounts of salt, and whether you add extras like feta or potatoes.

