Soups & Stews
This albondigas soup recipe with rice delivers the comforting flavors of Spanish home cooking—tender spiced meatballs simmered in a rich tomato-basil broth, served over fluffy rice. 💛 The secret lies in perfectly balanced meatballs that stay moist while absorbing the aromatic broth, creating a dish that’s both hearty and elegant. I’ve refined this recipe over years to ensure the meatballs hold together beautifully while the broth develops deep, savory notes from slow simmering.
The beauty of this dish is its versatility—whether you prefer a classic tomato-based broth or a lighter chicken version, the technique remains the same. Ground beef and pork blend creates the ideal texture, while breadcrumbs and egg bind the meatballs just enough to maintain their shape. The broth, infused with garlic, onions, and a touch of cinnamon, builds layers of flavor as it simmers, resulting in a soup that’s rich yet never overpowering.
What makes this recipe truly special is the harmony of textures and flavors: the tender meatballs, the velvety broth, and the fluffy rice all come together to create a meal that’s both comforting and impressive. The final touch—a sprinkle of fresh cilantro or a squeeze of lime—adds brightness that cuts through the richness, making every spoonful feel balanced and satisfying.
Perfect for family dinners, cozy gatherings, or even a comforting weeknight meal, this albondigas soup is a testament to how simple ingredients can create something extraordinary. The process is straightforward, but the result is undeniably restaurant-quality—warm, inviting, and full of heart. Let’s get started!
Ingredients for albondigas soup recipe with rice
Sixteen ingredients blend Spanish tradition with home-cooking simplicity for restaurant-quality albondigas soup.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef 🥩 | 1 lb | 80% lean for moisture retention |
| Ground Pork 🐖 | ½ lb | Lean cut preferred |
| All-Purpose Flour 🌾 | ½ cup | For meatball binding |
| Large Eggs 🥚 | 1 whole | Room temperature for mixing |
| Milk 🥛 | ¼ cup | Whole milk for tenderness |
| Yellow Onion 🧅 | 1 whole | Medium-sized, finely diced |
| Garlic Cloves 🧄 | 4 cloves | Freshly minced for aroma |
| Canned Tomato Sauce 🍅 | 1 can | 28 oz can, San Marzano preferred |
| Chicken Broth 💧 | 4 cups | Low-sodium preferred |
| Fresh Basil Leaves 🌿 | ¼ cup | Packed, chopped for garnish |
| Ground Cinnamon 🌶️ | ¼ tsp | For subtle warmth |
| Ground Nutmeg 🌶️ | ⅛ tsp | Freshly grated preferred |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly ground for flavor |
| Long-Grain White Rice 🍚 | 1 ½ cups | Uncooked, for serving |
| Fresh Cilantro 🌿 | ⅛ cup | Chopped for garnish |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
The ground beef and pork blend is non-negotiable—80% lean beef ensures moisture while lean pork adds tenderness. Whole Foods or Trader Joe's carry pre-mixed blends, but combining them yourself guarantees freshness. For the onions, yellow onions with crisp edges hold up best during simmering. The milk might seem unusual, but it creates that signature velvety texture in the meatballs. San Marzano tomato sauce delivers superior flavor, though any high-quality canned sauce works in a pinch. Fresh basil and cilantro should be vibrant—no wilted stems—as they brighten the rich broth.
No pork? Substitute extra ground beef (just reduce by 0.25 lb to maintain fat content). Short on broth? Chicken stock plus 1 cup water keeps the flavor concentrated. The cinnamon and nutmeg are subtle but essential—omit the nutmeg if you prefer a cleaner taste. For the rice, jasmine or basmati adds aromatic notes, though long-grain white works perfectly. The lemon juice can be swapped for white wine vinegar (1 tbsp) if you prefer tang without citrus. Prefer a lighter broth? Reduce the tomato sauce to 0.5 cup and add 1 extra cup of broth.
Meatballs keep 3 days in the fridge, fully submerged in broth. For longer storage, freeze them in a single layer before transferring to a sealed bag—up to 3 months. The broth freezes beautifully too, though it may thicken slightly; just reheat with a splash of water. Fresh herbs like basil and cilantro should be wrapped in damp paper towels and stored in sealed containers for up to 5 days. The rice reheats best when kept separate until serving—just warm it through with a splash of broth while the soup simmers.
Why You'll Love This Recipe
- No Fuss Mixing: I swear by the flour-egg-milk trick—just mash, knead, and roll. No fancy binders, no overcomplicating it. The meat stays juicy, the balls hold together, and honestly? I’ve burned dinner before trying to get this perfect, but the taste never lets me down.
- Rich, Two-Layered Bites: That crispy sear from the pork-beef mix paired with the creamy broth? It’s like a hug in a bowl. The milk in the meatballs keeps them tender, while the rice soaks up every last drop—no dry bites here.
- Pot Luck Hero: Between us, this is my go-to for potlucks or lazy Sundays. Double the batch, freeze half, and boom—you’ve got a freezer meal that feels fancy. My college roommate still asks for seconds, and she’s seen it all.
- Budget Stretch: Ground beef and pork stretch across meals like nothing else. A pound of each feeds four, and the rice turns scraps into a full meal. I’ll be real: my grocery bill drops when this is on rotation. Plus, leftovers taste just as good reheated.
Step-by-step instructions for albondigas soup with rice
Here's the professional method for creating tender meatballs and rich tomato-basil broth.
👨🍳 Step 1: Prepare the Meatball Mixture
In a large mixing bowl, combine the 1 lb ground beef and 0.5 lb ground pork. The beef provides hearty flavor while the pork adds tenderness. Use your hands to gently break up any large clumps while keeping the mixture coarse—this prevents dense meatballs.
Add the 0.5 cup all-purpose flour, 1 whole large egg, and 0.25 cup milk to the bowl. The flour acts as a binder while the egg and milk create moisture for juicy meatballs. Mix thoroughly until all ingredients are evenly incorporated and the mixture holds together when pressed. Real talk: don't overmix or the meatballs will toughen.
In a separate small bowl, combine the 1.5 tsp salt, 0.5 tsp black pepper, 0.25 tsp ground cinnamon, and 0.125 tsp ground nutmeg. The spices add warmth without overpowering. Sprinkle the spice mixture evenly over the meat mixture and fold gently to distribute.
🍳 Step 2: Form and Brown the Meatballs
Carefully shape the meat mixture into 1.5-inch diameter meatballs using your hands—about 12 meatballs total for 6 servings. Don't pack them too tightly or they'll be dense. Place them on a plate and refrigerate for 15 minutes to firm up slightly.
Heat a large Dutch oven over medium-high heat and add 1 tablespoon olive oil (not listed but essential). Once hot, add the meatballs in a single layer, leaving space between them. Cook undisturbed for 3-4 minutes until they develop a deep golden brown crust. This sear locks in flavors and prevents dry meatballs.
Transfer the browned meatballs to a plate and set aside. The residual heat will continue cooking them slightly, so don't overcook at this stage. You want them to finish cooking in the broth later.
🍳 Step 3: Build the Tomato-Basil Broth
In the same Dutch oven, add 1 tablespoon olive oil and cook the 1 whole yellow onion, finely diced, over medium heat for 5 minutes until softened but not browned. Add the 4 cloves garlic, freshly minced, and cook for 30 seconds until fragrant—this prevents bitter garlic flavors.
Pour in the 1 can tomato sauce and 4 cups chicken broth, scraping up any browned bits from the bottom of the pot. Bring to a gentle simmer and let cook for 10 minutes to develop flavors. The sauce should reduce slightly but remain saucy enough to coat the meatballs.
Add the 0.25 cup fresh basil leaves, chopped, and simmer for 2 minutes until the basil wilts slightly. This releases its aromatic oils into the broth. Stir in the 1 tbsp lemon juice just before removing from heat—this brightens the flavors without overpowering.
🥘 Step 4: Simmer the Meatballs and Cook the Rice
Return the meatballs to the Dutch oven and gently stir to coat them in the tomato-broth mixture. Bring to a gentle simmer (small bubbles at the edges) and cook uncovered for 15-20 minutes, stirring occasionally. The meatballs should be cooked through when they reach an internal temperature of 160°F—they'll continue cooking slightly as they rest.
While the meatballs simmer, prepare the rice separately. In a medium saucepan, bring 3 cups water to a boil, add the 1.5 cups long-grain white rice, reduce heat to low, cover, and simmer for 15 minutes. The rice should absorb all the water and be tender but not mushy.
🍽️ Step 5: Finish and Serve
Remove the Dutch oven from heat and let the meatballs rest in the broth for 5 minutes. This allows the flavors to meld and the meatballs to reabsorb any juices that may have leaked during cooking.
Divide the cooked rice among serving bowls. Ladle the meatballs and their broth over the rice, garnishing each serving with 1 tablespoon chopped fresh cilantro. The broth should be rich and aromatic with visible basil leaves floating on top—this indicates proper seasoning.
Serve immediately while the meatballs are warm and the broth is at its peak flavor. The combination of tender meatballs, aromatic tomato-basil broth, and fluffy rice creates a balanced, comforting dish perfect for any occasion.
Pro Tips For Making Albondigas Soup Recipe With Rice
- Chill the Meat Mix: Mixing ground beef and pork with flour, egg, and milk gets sticky fast. After combining everything, pop the bowl in the fridge for 10 minutes—this makes shaping the albóndigas way easier and keeps them from falling apart when you drop them in the broth.
- Toast the Flour First: Skip mixing dry flour straight into the meat. Lightly toast 1-2 tablespoons in a dry pan for 30 seconds until it smells nutty—this prevents the albóndigas from turning gummy in the soup. Works even better if you grind it slightly after toasting.
- Don’t Overwork the Dough: Once you add the egg and milk, resist the urge to knead or press the mixture. Overmixing makes the meat tough and dense. Just fold gently until combined—like handling a delicate dumpling, not pizza dough.
- Simmer Gently, Not Boil: Drop the albóndigas into the soup at a low simmer, not a rolling boil. If the broth bubbles hard, they’ll cook unevenly or crack open. Keep the heat at a whisper and let them poach—this guarantees a tender bite every time.
Flavor customization for this recipe
Spicy Kick
For heat lovers, add ½ teaspoon cayenne pepper or 1 teaspoon chili flakes to the meatball mixture for a subtle burn. I find Penzeys brand chili flakes add depth without overpowering. For extra heat, stir 1 tablespoon hot sauce (like Cholula) into the broth before serving. 🌶️
Citrus Brightness
Swap the lemon juice for 1 tablespoon orange juice or lime juice to add a zesty twist. Fresh orange zest (1 teaspoon) sprinkled over the meatballs before browning enhances the flavor profile beautifully. The citrus cuts through the richness of the tomato broth perfectly.
Herb Variations
Replace basil with cilantro or parsley for a different herbal note. For a Mediterranean touch, add 1 teaspoon dried oregano to the meatball mixture. Fresh thyme (½ teaspoon) in the broth adds earthy depth. I often mix ½ cup chopped cilantro with the basil for a fresh, vibrant garnish.
Smoky Depth
For a smoky flavor, add ½ teaspoon smoked paprika to the meatball mixture or stir 1 teaspoon liquid smoke into the broth. This works especially well if you're using a chicken broth base. A pinch of ground cloves (⅛ teaspoon) adds warmth without overpowering.
Creamy Twist
Stir ¼ cup heavy cream or ½ cup coconut milk into the broth just before serving for a velvety texture. This pairs especially well with the spicy kick variation. For a lighter option, use ¼ cup Greek yogurt—it adds creaminess without heaviness. 💛
Cheesy Finish
Top each serving with ¼ cup shredded Manchego cheese or Parmesan for a savory finish. The cheese melts slightly from the warm broth, adding a rich, umami layer. For extra indulgence, sprinkle 1 tablespoon crumbled feta on top before serving.
Nutrition facts
Frequently asked questions
Why does the recipe call for both beef and pork in the meatballs?
The combination creates the perfect texture—ground beef provides rich flavor and structure while ground pork adds natural juiciness. The pork fat keeps the meatballs tender during simmering, while the beef maintains their shape. Using just one type often results in either dry meatballs (beef only) or overly greasy ones (pork only).
Can I make this soup ahead of time?
The meatballs can be made 1 day ahead and stored in the broth in the refrigerator. Reheat gently on the stove, adding a splash of water if the broth thickens too much. For the rice, cook it fresh before serving to maintain perfect texture—just warm it through with a little broth while reheating the soup.
What's the best way to prevent the meatballs from falling apart?
Three key techniques: Don't overmix the meat mixture, chill them 15 minutes before browning, and avoid overcooking. The flour and egg act as natural binders, but too much handling breaks down the proteins. Brown them just until golden—3-4 minutes—then finish cooking gently in the broth to lock in moisture.
How can I make this soup lighter for summer?
Reduce the tomato sauce to ½ cup and increase broth to 5 cups for a clearer soup. Swap heavy cream for Greek yogurt (¼ cup) and use jasmine rice instead of white rice. Garnish with extra fresh herbs and a squeeze of lime to brighten the lighter broth. The meatballs will still be rich but the overall dish becomes more refreshing.
What if I don't have fresh basil?
Use ½ teaspoon dried basil (reduce by ⅓) or substitute with ¼ cup chopped parsley. For a different herbal note, try 1 teaspoon dried oregano in the broth. The key is to maintain the herbaceous quality—just adjust quantities since dried herbs are more concentrated. Fresh herbs always taste better, but dried works in a pinch!
