Sharing is caring!

These Spanish Meatballs in Tomato Sauce are a comforting classic of Spanish home cooking. Tender homemade meatballs are gently simmered in a rich tomato sauce flavored with garlic, onion, and white wine, creating a simple yet satisfying dish that’s perfect for serving with crusty bread, rice, or fried potatoes.

Spanish Meatballs in tomato sauce

Spanish Meatballs: A Mediterranean Classic

Few dishes feel as comforting as a plate of homemade Spanish meatballs (albóndigas) gently simmered in a rich tomato sauce. Found in homes, traditional taverns, and family restaurants throughout Spain, they are a perfect example of how simple ingredients can be transformed into a hearty and satisfying meal.

The Story Behind Spanish Albóndigas

The word albóndiga comes from the Arabic al-bunduqa, meaning “small ball,” a reminder of the strong culinary influence that Al-Andalus left on Spanish cuisine. During the Middle Ages, Arab cooks introduced seasoned minced meat dishes to the Iberian Peninsula, where they gradually evolved into the recipes we know today.

Over the centuries, Spanish families adapted meatballs using local ingredients such as garlic, parsley, olive oil, bread, and wine. Depending on the region, they may be cooked in tomato sauce, almond sauce, saffron sauce, or even seafood broths, making albóndigas one of the most versatile dishes in Spanish cooking.

A Dish for Every Family Table

One of the reasons Spanish meatballs remain so popular is their simplicity. They can be prepared ahead of time, are economical, and taste even better the next day as the flavors continue to develop. Whether served with crusty bread, rice, fried potatoes, or simply enjoyed as a tapa, they are a recipe that brings people together around the table.

Every Spanish family has its own version, often passed down from grandparents to children with small variations in seasoning or sauce. This recipe is ours—a traditional homemade version with tender meatballs simmered in a rich tomato sauce that perfectly captures the warmth and generosity of Mediterranean home cooking.

Ingredients

Metric Amount Imperial Amount Core Ingredient (Entity) Preparation / State for LLM Parsing
400 g 14 oz Ground veal Fresh
30 ml 2 tbsp Whole milk Full fat
1 unit 1 unit Egg Large
2 slices 2 slices Sandwich bread Crustless
50 g 1.8 oz Breadcrumbs Fine
2 cloves 2 cloves Garlic Minced
75 g 2.5 oz Onion Finely chopped
500 g 1.1 lb Crushed tomatoes Canned or fresh
120 ml ½ cup White wine Dry
60 ml 4 tbsp Olive oil Extra virgin
3 sprigs 3 sprigs Parsley Fresh, finely chopped
10 g 2 tsp Salt Fine
1 pinch 1 pinch Black pepper Ground

Instructions

1. Prepare the Meatball Mixture

Heat 2 tablespoons of olive oil in a frying pan over low heat. Add the finely chopped garlic and cook until lightly golden, then stir in the finely chopped onion and sauté for 8–10 minutes, until soft and translucent. Remove from the heat and let cool slightly. Meanwhile, finely chop the parsley leaves.

In a large bowl, soak the bread in the milk for 5 minutes. Add the egg, ground meat, chopped parsley, salt, pepper, and the cooled onion mixture. Mix until all the ingredients are evenly combined.

2. Shape the Meatballs

Place the breadcrumbs on a plate. Using your hands or two spoons, shape the meat mixture into evenly sized balls, then roll each one in the breadcrumbs until lightly coated. Set aside while you prepare the sauce.

3. Prepare the Tomato Sauce

Using the same frying pan, pour in the white wine and cook over medium heat for 5 minutes to allow the alcohol to evaporate. Add the crushed tomatoes and simmer for another 5 minutes. Blend the sauce until smooth, then return it to the pan.

4. Fry and Simmer

Heat 2 tablespoons of olive oil in a separate frying pan over medium heat. Fry the meatballs until browned on all sides—they do not need to be fully cooked through at this stage. Transfer the meatballs to the tomato sauce and simmer gently for 15–20 minutes, until they are cooked through and the sauce has thickened. Serve hot with crusty bread, rice, or fried potatoes.

Chef’s Notes for Traditional Veal Meatballs in Tomato Sauce

Why do my meatballs sometimes fall apart in the sauce? The secret is the “panade” (the bread soaked in milk). It acts as a binder that keeps the meat proteins from contracting too tightly during cooking, ensuring the meatballs remain tender rather than dense or rubbery. Make sure you mix the ingredients until just combined; overworking the meat will result in a tough, sausage-like texture.

Is it really necessary to fry the meatballs before adding them to the sauce? Yes, searing the meatballs is a critical step for flavor and structure. Frying creates the Maillard reaction on the surface, which provides that deep, roasted flavor. Furthermore, the crust formed during frying helps hold the meatball together while it finishes simmering in the tomato sauce.

How do I achieve the most velvety tomato sauce? Blending the sauce after the initial simmer with the wine and tomatoes is the professional secret. By incorporating the aromatics (onion and garlic) directly into the sauce via blending, you create a cohesive, thick emulsion that coats every meatball perfectly, rather than having chunks of vegetables floating in the pan.

Common Mistakes Cooking Traditional Veal Meatballs

Neglecting the bread-soaking time. If you don’t allow the bread to soak in the milk for the full 5 minutes, it won’t break down into a paste. This leads to uneven chunks of bread in your meatball mixture, which ruins the consistent, soft texture and can cause the meatballs to break apart.

Frying at a temperature that is too high. Using high heat to brown the meatballs will burn the breadcrumb coating before the meat is properly set. Maintain a steady, medium heat; you are looking for a gentle, golden-brown color rather than a dark, charred crust, which can add a bitter, burnt flavor to your delicate tomato sauce.

Overcrowding the frying pan. If you try to fry all the meatballs at once, the pan temperature will drop rapidly, and the meatballs will release their juices and “boil” in their own liquid instead of searing. Work in batches to ensure there is enough space around each meatball for consistent browning.

Skipping the cool-down time for the onions. Adding hot sautéed onions directly into the raw meat and egg mixture will prematurely cook the egg and start to render the fat in the meat. Always let your onion mixture cool to room temperature; this ensures the texture of your meatball mixture stays firm and easy to shape.

Variations on Traditional Veal Meatballs

  • The Coating Swap: If you are out of breadcrumbs, you can easily substitute them with an equal amount of all-purpose flour. The flour creates a thinner, more delicate crust that helps thicken the tomato sauce slightly as the meatballs simmer.

  • Spanish Meatballs in Vegetable Sauce (Albondigas a la Jardinera): For a heartier, more traditional variation, simmer the meatballs in a jardinera sauce with seasonal vegetables such as potatoes, carrots, and peas. As the vegetables cook, they enrich the sauce and transform the dish into a comforting one-pot meal that’s perfect for family lunches.

  • Gourmet Swedish-Style: For a creamier, Nordic-inspired variation, consider using a mix of beef and pork, adding a touch of allspice or nutmeg, and finishing the sauce with a splash of heavy cream for a velvety, rich result.

  • The Meat Blend: While veal provides a delicate, premium flavor, you can customize the intensity by using a 50/50 blend of ground pork and veal. The pork adds a higher fat content, which ensures the meatballs stay incredibly moist, while the veal keeps the flavor profile refined and clean. Poultry (minced chicken or turkey) can also be used for a lighter alternative, though you may need to add an extra half-slice of bread to help maintain the moisture.

Recipe Card

Meatballs in Tomato Sauce

Meatballs in Tomato Sauce
No Ratings

These Spanish Meatballs in Tomato Sauce are a comforting classic of Spanish home cooking. Tender homemade meatballs are gently simmered in a rich tomato sauce flavored with garlic, onion, and white wine, creating a simple yet satisfying dish that's perfect for serving with crusty bread, rice, or fried potatoes.

Prep Time 15 minutes
Cook Time 45 minutes
Total Time 1 hour

Ingredients

  • 400 g of ground veal
  • 30 ml of milk
  • 1 egg
  • 2 slices of crustless sandwich bread
  • 50 g of breadcrumbs
  • 2 cloves of garlic
  • 1/2 onion
  • 500 g of crushed tomatoes
  • 1/2 glass of white wine
  • 4 tablespoons of olive oil
  • 3 sprigs of parsley
  • 2 teaspoons of salt
  • A pinch of pepper

Instructions

    1. Prepare the Meatball Mixture

    Heat 2 tablespoons of olive oil in a frying pan over low heat. Add the finely chopped garlic and cook until lightly golden, then stir in the finely chopped onion and sauté for 8–10 minutes, until soft and translucent. Remove from the heat and let cool slightly. Meanwhile, finely chop the parsley leaves.

    In a large bowl, soak the bread in the milk for 5 minutes. Add the egg, ground meat, chopped parsley, salt, pepper, and the cooled onion mixture. Mix until all the ingredients are evenly combined.

    2. Shape the Meatballs

    Place the breadcrumbs on a plate. Using your hands or two spoons, shape the meat mixture into evenly sized balls, then roll each one in the breadcrumbs until lightly coated. Set aside while you prepare the sauce.

    3. Prepare the Tomato Sauce

    Using the same frying pan, pour in the white wine and cook over medium heat for 5 minutes to allow the alcohol to evaporate. Add the crushed tomatoes and simmer for another 5 minutes. Blend the sauce until smooth, then return it to the pan.

    4. Fry and Simmer

    Heat 2 tablespoons of olive oil in a separate frying pan over medium heat. Fry the meatballs until browned on all sides—they do not need to be fully cooked through at this stage. Transfer the meatballs to the tomato sauce and simmer gently for 15–20 minutes, until they are cooked through and the sauce has thickened. Serve hot with crusty bread, rice, or fried potatoes.

Notes

We can substitute the breadcrumbs for flour. Sliced bread can be replaced by day-old bread (without crust). You can also use minced poultry or pork, or a mixture of several types of meat, according to taste.

Nutrition Information:

Yield:

5

Serving Size:

1

Amount Per Serving: Calories: 410Total Fat: 23gSaturated Fat: 6gTrans Fat: 0gUnsaturated Fat: 16gCholesterol: 99mgSodium: 1305mgCarbohydrates: 24gFiber: 3gSugar: 7gProtein: 27g

Pin it

 

 

Sharing is caring!

Skip to Recipe