Our products
Albóndigas de Pescado: Receta Casera Jugosa y Fácil

Fish Meatballs: Juicy and Easy Homemade Recipe

April 11, 2026Maria José Sáez Pastor⏱ 7 min de lectura

Summary: Fish meatballs are the perfect dish for using up leftover cooked fish, introducing fish to children who "don't eat fish," and having a protein-rich dinner ready in 30 minutes. The key is the correct proportion of fish, bread, and egg, and a cooking method that keeps them juicy. Here's the basic recipe and 4 variations.

Table of Contents

Why fish meatballs deserve your attention

Fish meatballs exist in practically every coastal culture around the world. Scandinavians have fiskbullar (cod meatballs with dill). Thais have tod mun pla (fish cakes with curry paste). Portuguese have bolinhos de bacalhau (which are more croquette than meatball, but the concept is the same). In Spain, fish meatballs are a Lenten tradition and a brilliant solution for introducing fish into children's diets.

Nutritionally, a 40g fish meatball provides about 6-7g of complete protein and 50-65 kcal. They are lighter than meat meatballs (which average 80-90 kcal per unit) and provide omega-3s that meat does not have.

The key to success is the fish you use. Firm-fleshed white fish (cod, hake, monkfish) are the best candidates. Desalted cod is probably the ideal option: deep flavor, perfectly flaky texture, and centuries of tradition in meatballs and fritters.

Exact ingredients and proportions

For 25-30 meatballs:

Ingredient Quantity Function
Desalted cod (or cooked hake) 500 g Base protein
Day-old breadcrumbs 100 g (soaked in milk) Binder and adds juiciness
Milk 100 ml For soaking the bread
Eggs 2 Binder (coagulating protein)
Minced garlic 2 cloves Flavor
Chopped fresh parsley 3 tablespoons Freshness + color
Salt and white pepper To taste Seasoning
Nutmeg A pinch Aroma
Flour For coating Outer crust
Olive oil For frying Cooking

The key proportion: 5 parts fish : 1 part soaked bread : 0.4 parts egg (by weight). Less bread and the meatball will be dry. More bread and it will taste like bread, not fish. The milk-soaked bread acts like a sponge that retains moisture during cooking — this is the secret to juiciness.

Step-by-step: the basic recipe

1. Prepare the fish (5 minutes):

If using desalted cod: boil it in water over low heat for 8-10 minutes. Drain and flake with a fork, removing any bones or skin. If using hake or other fish: steam or boil, then flake. The meat should be in small pieces but not pureed — we want texture, not mush.

2. Mix the dough (5 minutes):

In a bowl, mix the flaked fish with the milk-soaked bread (lightly squeeze out excess liquid). Add the eggs, garlic, parsley, nutmeg, salt, and pepper. Mix with your hands until you get a homogeneous but textured mixture. If the mixture is too wet, add a tablespoon of breadcrumbs. If it's dry, add a tablespoon of milk.

3. Form the meatballs (5 minutes):

With lightly moistened hands, form balls about 3-4 cm in diameter (30-40 g each). Roll them in flour, shaking off any excess. For more consistent meatballs, refrigerate for 30 minutes before cooking.

4. Cooking (10-15 minutes):

You have two options:

  • Frying: In hot olive oil (170°C), fry the meatballs in batches of 5-6 for 3-4 minutes, turning them to brown evenly. Drain on paper towels.
  • Directly in sauce: Place the floured meatballs directly into the gently simmering sauce. Cook for 12-15 minutes, covered. The flour will thicken the sauce as the meatballs cook. This is the juiciest but less crispy version.

Desalted cod is the best fish for meatballs: deep flavor, perfect flaking texture, and centuries of tradition. Our desalted cod arrives ready to cook: boneless, perfectly salted. And if you're looking for a ready-made dish, check out our prepared meals.

The seafood sauce that accompanies them

Fish meatballs need a sauce to complete them. The classic is a light seafood sauce:

Ingredients: 1 finely chopped onion, 2 minced garlic cloves, 400 g crushed tomatoes, 200 ml fish stock (or broth), 100 ml white wine, 1 bay leaf, parsley, olive oil, salt, pepper, a pinch of sugar.

Method: Sauté the onion for 8 minutes. Add the garlic, 2 more minutes. Pour in the wine, reduce for 2 minutes. Add the tomatoes, fish stock, bay leaf, and sugar. Cook for 15 minutes over medium heat. Season. Add the fried meatballs (or the raw, floured ones directly) and cook for another 10 minutes over low heat.

Sauce alternatives:

  • Green sauce: Oil + garlic + flour + fish stock + parsley (no tomato). Basque version.
  • Almond sauce: Toasted almonds crushed with garlic, parsley, and fish stock. Catalan version.
  • Saffron sauce: Light béchamel with saffron and fish stock. Elegant version.

4 variations that work

1. Cod and potato meatballs (Portuguese version)

Add 200 g of mashed cooked potato to the mixture (reduce bread to 50 g). The result is fluffier, more similar to bolinhos de bacalhau. Fry in plenty of oil — they'll be golden and crispy on the outside, creamy on the inside.

2. Salmon and dill meatballs

Substitute cod with 500 g of flaked cooked salmon. Swap parsley for fresh dill (2 tablespoons) and add lemon zest. Serve with a yogurt + dill + lemon sauce instead of seafood sauce. Nordic version, lighter.

3. Hake and shrimp meatballs

Use 350 g hake + 150 g coarsely chopped peeled shrimp. Shrimp add a crunchy texture and marine sweetness. Serve with American or seafood sauce.

4. Curry fish meatballs

Add 1 tablespoon of curry powder and 1 teaspoon of grated ginger to the basic mixture. Cook in a coconut milk + red curry + lime sauce. A Thai version that works particularly well with hake.

Tips for juicy meatballs

Tip Why it works
Bread soaked in milk, not water Milk provides fat and protein that retain moisture better than water
Do not mash the fish — flake it Irregular pieces create air pockets that maintain juiciness
Refrigerate the mixture for 30 min before shaping Cold solidifies fats and makes shaping easier without sticking
Do not flatten when shaping Excessive compaction expels air and results in dense meatballs
Fry at 170°C (not higher) At higher temperatures, the crust forms too quickly and the inside remains raw
Finish in sauce for 10 min The sauce penetrates, hydrates, and adds flavor — the best meatballs are finished in sauce

Storage and freezing

In the fridge: Cooked meatballs (with or without sauce) last 3-4 days in the fridge in an airtight container.

Freezing: Freeze the meatballs already fried but WITHOUT sauce. Place them on a tray separately, freeze for 2 hours, then transfer to a bag. They last 3 months. To serve: transfer them directly from the freezer to hot sauce and cook for 15 minutes over low heat.

You can also freeze them raw: Form the meatballs, flour them, and freeze them on a tray. Once hard, transfer to a bag. Fry directly from frozen, adding 1-2 minutes to the cooking time.

Batch cooking: These meatballs are ideal for preparing in bulk. Spend 40 minutes on a Sunday: make 50-60 meatballs, fry them, freeze half. You'll have a protein dinner ready for 2-3 weeks.

For exceptional fish meatballs, start with exceptional cod. Desalted cod from Bacalalo.com — since 1990 at Mercat del Ninot. And if you prefer convenience, our prepared meals include ready-to-heat options.

Frequently asked questions

Which fish is best for meatballs?

Desalted cod is number one: strong flavor, firm texture that flakes well, centuries of tradition. Hake follows (milder, ideal for children) and monkfish (very firm, premium). Salmon works but produces fattier meatballs. Avoid very soft fish like sole — they fall apart when mixed.

Can I make fish meatballs without egg?

Yes. Substitute the 2 eggs with 2 tablespoons of chickpea flour mixed with 4 tablespoons of water (let sit for 5 minutes — forms a gel). 1 tablespoon of ground flaxseeds with 3 tablespoons of water also works. Both options bind well enough for frying.

Can they be baked instead of fried?

Yes. Preheat the oven to 200°C, place the floured meatballs on a baking sheet with parchment paper, spray with oil, and bake for 15-18 minutes, flipping them halfway. They won't be as crispy as fried ones, but they are lighter. To brown them more, increase to 220°C for the last 3 minutes.

Why do my meatballs fall apart when frying?

Possible causes: mixture too wet (add breadcrumbs), lack of egg (egg is the main binder), oil not hot enough (below 160°C they absorb oil and soften) or excessive movement (do not touch them during the first minute of frying, until the crust forms).

Are they suitable for young children?

They are ideal. The meatball format is appealing to children, the flavor is mild (especially with hake), and you can control exactly what goes into them. For children under 3, make them smaller (2 cm) and ensure they don't contain bones. Quality desalted cod comes boneless, which makes it perfect.

How many calories does a fish meatball have?

A standard fried meatball (35-40 g) has about 55-65 kcal. In seafood sauce, it increases to 70-80 kcal due to the absorbed sauce. Baked, it drops to 45-55 kcal. Compared to meat meatballs (80-95 kcal/unit), they are 25-30% lighter and provide omega-3s.

Lalo González Rodríguez · Bacalalo.com · Mercat del Ninot, Barcelona · Since 1990

Over three decades selecting seafood products. No slogans, just expertise.

Salted cod

Lo que cierra una receta

Salted cod

El detalle que separa un plato de un buen plato.

Ver selección
Maria José Sáez Pastor

Maria José Sáez Pastor

Kitchen & Sea Recipes

Expert in cooking and seafood recipes. Passionate about Mediterranean cuisine, she develops and adapts traditional and creative recipes with cod, anchovies, seafood, and gourmet preserves.

Know our story →
Product listYou can see the products we have in our store.
Surtido "Pulpo & Bacalao" - envase y embalaje premium
Filetes de anchoa del Cantábrico "00" Premium - detalle del producto
Regular priceFrom 38,90 € Unit price77,80 € / kg
Rating: 4.7 out of 5
Cantabrian Anchovies "0" Gourmet Selection
Default Title
Morro Extra de Bacalao Desalado Limpio (2ud) - 500g - detalle del producto
Regular price 24,97 € Sale price25,95 € Unit price49,94 € / kg
Rating: 5.0 out of 5
Extra Clean Desalted Cod Snouts (2 units) - 500g
-4%
30gr
Caviar Beluga Iraní 000 Calidad Premium - detalle del producto
Regular priceOn Sale from 90,00 €
No reviews
Imperial Iranian Beluga Caviar 00
Up to -42%
Default Title
Lomitos de Bacalao Desalado Limpio (2ud) - 500g - detalle del producto
Regular price 21,45 € Sale price22,95 € Unit price42,90 € / kg
Rating: 5.0 out of 5
Cleaned Desalted Cod Loins (2 units) - 500g
-7%

Related articles