This Greek Fish Soup (Psarosoupa) is pure comfort in a bowl. Made with fresh fish, vegetables, and rice, it’s light, lemony, and full of flavour. Perfect for cooler days or when you want something nourishing and simple.

Greek Fish Soup (Psarosoupa) is not only comforting and flavourful but also full of nutritional benefits. It’s a dish I grew up with, and over the years, it’s become something I now make for my own family. It’s one of those meals that feels both wholesome and satisfying — light enough to enjoy anytime, but still hearty enough to warm you up.
Even as a fussy eater growing up, I always looked forward to my mum’s fish soup. It didn’t feel like I was eating fish at all — she would gently remove it from the pot and serve it on the side with the vegetables. What was left was a clear, comforting broth with clean flavours and no fishy bits — perfect for picky kids like me.
When making her fish soup, my mum would always start by simmering the vegetables to build a rich, flavourful broth. Once softened, the vegetables were removed, and the fish was gently cooked in the same stock. Everything was then strained for a smooth finish, and the rice was added directly into the fragrant broth. The fish and vegetables were either served on the side or, if you preferred, added back into the soup.
My favourite part was always drizzling the soft, boiled potatoes with olive oil and enjoying them alongside the warm, lemony soup.
Health benefits of Greek Fish Soup (Psarosoupa)
Greek Fish Soup (Psarosoupa) is a light and wholesome soup packed with nutrients from fresh vegetables, lean fish, and healthy fats. It’s a great source of vitamins, minerals, protein, and heart-friendly olive oil — all the good stuff that makes it a perfect dish for everyday meals or when you’re feeling under the weather. The combination of colourful vegetables provides fibre and antioxidants that support digestion and immune health. Fish bones, skin, and heads naturally release collagen when simmered, giving the broth a gentle, nourishing boost. The lean white fish also provides easily digestible protein along with essential nutrients like vitamin D and B12. A splash of fresh lemon juice adds a boost of vitamin C, helping your body absorb iron and enhancing the soup’s bright, refreshing flavour. This nourishing meal is a staple in Mediterranean diets, celebrated for promoting overall wellness and balanced nutrition.
Ingredients for Greek Fish Soup (Psarosoupa)

- Fish: For Psarosoupa, it’s traditional to use white fish. I always go for snapper because it has a subtle, sweet flavour and holds its shape well during simmering. I ask the person at the fish shop to clean and scale the fish, and if needed, to cut it in half or thirds so it fits into my pot. Other good options include cod, sea bass, or bream — any firm white fish with a mild flavour will work well.
- Vegetables: I always start with a base of onions, tomatoes, carrots, celery, and potatoes. They give the broth a gentle sweetness and plenty of flavour. You can also add a zucchini if you like — just add it about 10–15 minutes after the other vegetables have started simmering so it stays tender and doesn’t overcook.
- Medium Grain Rice: I usually add a small handful of medium grain rice to the soup. It gives just enough body without making the broth too starchy. If you prefer, you can use orzo (risoni) instead—it’s equally traditional and works beautifully with the lemony broth.
- Lemon Juice: Always use freshly squeezed lemon juice, never the bottled kind. It lifts the flavour of the soup and balances the sweetness of the vegetables and fish. A generous squeeze right before serving is the perfect finishing touch.
How to make Greek Fish Soup (Psarosoupa)
Prepare the vegetables and make the stock

1. Peel the onions, leaving the root end intact to help keep them whole while simmering. Cut a shallow cross on the top of each onion.

2. Peel and cut the carrots in half, then halve the sticks.

3. Cut the celery into thirds.

4. Cut the tomatoes into quarters.

5. Peel the potatoes and leave them whole.

6. In a large pot, add 2 litres (8 cups) of water. Add the onions, carrots, celery, tomatoes, and potatoes.

7. Add olive oil, salt, and pepper.

8. Bring to a boil, then reduce to a simmer. Partially cover and cook for 30–35 minutes, or until potatoes are tender.

9. Remove all vegetables and set aside.

10. Leave the tomatoes and a few small veggie pieces in the pot and blend with a stick blender until smooth.
Cook the fish and finish the soup

1. Rinse the fish thoroughly.

2. Add the fish to the vegetable stock and simmer gently for about 12 minutes, or until the flesh flakes easily off the bone.

3. Carefully remove the fish and set it aside with the vegetables.

4. Strain the soup to remove any stray scales. This step is important for a smooth, clean broth.

5. Rinse the rice.

6. Add the rice to the stock.

7. Reduce the heat and simmer, partially covered, over medium heat for 10–12 minutes,

8. Or until the rice is just cooked.

9. Stir in the lemon juice and adjust seasoning to taste. Add more lemon juice if you like.

10. Serve the soup in bowls.

Serve with the vegetables and fish on the side, drizzled with olive oil and lemon juice.

This soup is delicious on its own, but I love serving it with a little Taramosalata (Greek Fish Roe Dip) and a piece of Greek Sesame Bread Rings) Koulouri Thessalonikis on the side.
Tips for making Greek Fish Soup (Psarosoupa)
What vegetables are traditionally used for Psarosoupa?
Traditionally, Psarosoupa is made with a simple combination of onion, tomato, carrot, celery, and potato. These vegetables form the foundation of the broth and give the soup its comforting flavour and natural sweetness. They’re essential for building depth and creating that rich, nourishing base.
I always start with this classic mix, but it’s easy to adjust depending on your preferences. I often add an extra potato because I love how soft and buttery they become in the soup, and sometimes I toss in a zucchini too — just make sure to add it about 10–15 minutes after the other vegetables have started simmering, so it stays tender and doesn’t overcook.
If you prefer a clear soup, like my mum used to make, you can strain out all the vegetables once they’ve simmered. Personally, I like to keep the tomatoes and a few soft pieces of carrot, onion, and celery and blend them until smooth. It’s a simple way to sneak in a few more veggies, especially for those who aren’t too keen on eating them whole.
What fish is best for Psarosoupa?
For a traditional Psarosoupa, the best fish to use is a mild white fish with bones that holds its shape well during simmering. Snapper is my go-to — it has a delicate flavour that doesn’t overpower the broth and stays firm as it cooks. Other good options include cod, sea bass, or bream — any firm white fish with a mild flavour will work well. These types of fish create a light, clean-tasting broth that’s full of depth and subtle sweetness.
Whenever possible, use a whole fish with bones and head, as these add extra flavour to the broth while simmering. To save time, I always ask the person at the fish shop to clean, gut, and scale the fish, and, if needed, to cut it into a few large pieces so it fits in my pot. Alternatively, if you’d prefer to do it yourself, you can follow this helpful guide on how to gut and scale a whole fish. Avoid oily or strong-flavoured fish like salmon or mackerel, as they can overpower the broth.
If you’re not comfortable with whole fish, you can use fillets, but keep in mind the broth may be less rich. For the most flavourful and traditional result, fish with bones is best.
Straining the soup after simmering is essential?
After removing the fish from the pot, it’s important to strain the broth using a fine sieve or slotted spoon before adding the rice or pasta. This step gets rid of any fish scales that may have been released during cooking. I once forgot to strain the broth and had already added the rice — and trying to pick out tiny scales from cooked rice was near impossible! I had to strain the whole soup, throw out the rice, and add a fresh batch. Lesson learned — don’t skip the straining.
Don’t add too much rice or orzo pasta?
It’s easy to go overboard with rice or orzo, but a little really does go a long way in Psarosoupa. Too much can soak up all the broth and turn the soup into more of a stew. I use ½ cup (100 g / 3.5 oz) of medium-grain rice or orzo (risoni) for a pot that serves about five people — that’s roughly 2 tablespoons per serving. This keeps the soup light and balanced, without overpowering the delicate fish broth. You can always adjust the amount next time depending on how brothy or hearty you like it.
Can I prepare this recipe ahead of time?
Yes! You can definitely get a head start by making the vegetable broth in advance. I sometimes boil the vegetables to build the broth, then store the strained broth and cooked vegetables separately in the fridge. When you’re ready to cook, just bring the broth back to a gentle simmer, add the fish, strain it, and then cook the rice directly in the broth. Leaving the fish and rice out until the last-minute keeps everything fresh and stops the rice from soaking up too much liquid.
Storage
Store leftover soup in an airtight container in the fridge for up to 2 days. Keep in mind that the rice or orzo will continue to absorb liquid as it sits, so you may want to add a splash of water when reheating. To reheat the soup, warm gently on the stovetop or microwave until heated through.