Classic Spanish Fish Soup | Authentic Flavors & Done in 30 Minutes
This Classic Spanish Fish Soup is an authentic Spanish recipe that celebrates the fresh, bright flavours of the Mediterranean. Sopa de pescado is a traditional dish that combines quality fish stock with sautéed vegetables, Spanish paprika, saffron, and tender pieces of white fish. The slow cooker adaptation makes this restaurant-quality soup accessible for busy home cooks, whilst maintaining the depth and authenticity of the original recipe. Perfect for a warming lunch or elegant dinner starter, this soup is ready to serve in just a few hours on the slow cooker, with minimal hands-on time. Serve with crusty bread and a squeeze of fresh lemon for the complete Spanish experience

Watch: Classic Spanish Fish Soup | Authentic Flavors & Done in 30 Minutes
Original recipe video — click to play
Original method: 30 minutes stovetop
Ingredients
Base
- 1250 ml Spanish fish stock or fish broth
Good quality Spanish fish broth recommended for authentic flavour
- 1 large onions, diced
- 4 cloves garlic cloves, minced
- 2 stalks celery, diced
- 400 g tomatoes, canned, diced or fresh, diced
Spices & Seasonings
- 1 ½ tsp sweet smoked Spanish paprika
Essential for authentic Spanish flavour
- ÂĽ tsp saffron threads, soaked in 60ml (2 fl oz) warm water
Adds distinctive golden colour and delicate flavour
- ½ tsp sea salt
Adjust to taste
- ÂĽ tsp black pepper, freshly ground
Main Protein
- 600 g white fish fillets, cut into chunks
Add in final 30 minutes of cooking to prevent overcooking
Use firm white fish such as cod, haddock, or sea bass
Finishing
- 15 g fresh parsley, chopped(optional)
Add just before serving
- 1 whole fresh lemon, cut into wedges(optional)
Serve on the side
For squeezing over the soup at the table
- 2 tbsp olive oil
For sautéing vegetables
Method
- 1
Heat the olive oil in a large frying pan over medium heat. Add the diced onion, celery, and minced garlic. Sauté for 5 minutes, stirring occasionally, until the vegetables are softened and fragrant.
~5 minsTip: Browning the vegetables first builds deeper flavour for the final soup.
- 2
Stir in the Spanish paprika and cook for 1 minute until fragrant, being careful not to burn it.
~1 minTip: Cooking the paprika briefly releases its flavour.
- 3
Add the diced tomatoes (fresh or canned) to the frying pan and stir well to combine with the vegetables and paprika.
~2 mins - 4
Transfer the sautéed vegetable mixture to your slow cooker pot.
~2 minsTip: Scrape out all the flavourful bits from the frying pan.
- 5
Pour the fish stock into the slow cooker and add the saffron along with its soaking liquid. Season with sea salt and black pepper. Stir well to combine.
~3 minsTip: The saffron water adds both flavour and colour to the broth.
- 6
Cover the slow cooker and cook on Low for 5–5.5 hours, or on High for 2.5–2.75 hours. The broth should be fragrant and the vegetables tender.
~5 hrs 30 minsTip: Do not add the fish yet; it will be added near the end.
- 7
Switch the slow cooker to High setting if you've been cooking on Low. Add the fish chunks, stirring gently to distribute them throughout the soup.
~2 minsTip: Fish cooks quickly, so precise timing prevents it from becoming tough.
- 8
Cover and cook for 30 minutes on High (or 1 hour on Low if continuing from Low), until the fish is opaque and flakes easily with a fork.
~30 minsTip: Check the fish at 25 minutes to avoid overcooking.
- 9
Taste the soup and adjust the seasoning with additional salt and pepper if needed. Stir in the fresh chopped parsley just before serving.
~3 minsTip: Fresh parsley adds brightness and colour.
- 10
Ladle the soup into serving bowls and serve immediately with lemon wedges on the side for squeezing over.
~5 minsTip: A squeeze of fresh lemon juice enhances all the flavours.
Nutrition
Detailed nutritional information is coming soon.
Frequently Asked Questions
Yes, you can use frozen fish fillets. Thaw them completely in the refrigerator before adding to the slow cooker to ensure even cooking. Add them in the same way as fresh fish during the final 30 minutes
Comments
No comments yet — be the first to share your experience!