Mexican Stew with Meatballs, Rice, and Fresh Vegetables

Updated November 4, 2026

Total time
1 hr 10 min
prep 25 min · cook 45 min
Serves
6
portions as written
Safe temperature (USDA)
160°F / 71°C
check the thickest piece

Jump to recipe

Mexican Stew with Meatballs, Rice, and Fresh Vegetables

Mexican meatball stew is a tomato-rich, brothy one-pot meal with tender beef-and-rice meatballs, potatoes, carrots, and zucchini. It draws on the family of Mexican albóndigas soups, which vary by cook and region; this heartier version makes a satisfying dinner with warm tortillas or a squeeze of lime.

Ingredients

  • 2 tablespoons (30 ml) neutral oil, divided
  • 1 medium white onion (about 150 g), finely diced, divided between the meatballs and stew
  • 3 garlic cloves (about 9 g), minced
  • 1½ pounds (680 g) ground beef, preferably 85% lean
  • 1 large egg (about 50 g, without shell)
  • ¼ cup (45 g) uncooked long-grain white rice
  • 2 tablespoons (6 g) finely chopped fresh mint
  • 1 tablespoon (4 g) finely chopped fresh cilantro, plus more for serving if desired
  • 1 teaspoon (about 1 g) dried Mexican oregano or regular dried oregano
  • 1 teaspoon (6 g) kosher salt, divided, plus more to taste
  • ½ teaspoon (1 g) ground black pepper
  • ½ teaspoon (1 g) ground cumin
  • 2 tablespoons (32 g) tomato paste
  • 1 can (14½ ounces / 411 g) diced tomatoes, with their juices
  • 8 cups (1.9 L) low-sodium beef broth
  • 1 bay leaf
  • 2 medium carrots (about 200 g), peeled and cut into ½-inch (1.3 cm) pieces
  • 2 medium Yukon Gold potatoes (about 350 g), cut into ¾-inch (2 cm) cubes
  • 1 medium zucchini (about 200 g), cut into ½-inch (1.3 cm) pieces
  • 1 lime, cut into wedges, for serving
  • ¼ cup (15 g) thinly sliced radishes or extra chopped cilantro, optional garnish

Instructions

  1. Prepare the vegetables and meatball mixture. Dice the onion and set aside half for the broth. In a large bowl, combine the ground beef, egg, uncooked rice, mint, cilantro, oregano, ½ teaspoon of the salt, pepper, and the other half of the onion. Mix gently with your hands or a fork just until evenly combined. Overmixing can make the meatballs dense. Shape into about 18 meatballs, each roughly 1½ inches (4 cm) across, and set them on a plate while you start the broth.
  2. Build the tomato base. Heat 1 tablespoon (15 ml) of oil in a large heavy pot or Dutch oven over medium heat. Add the reserved onion and cook for 3 to 4 minutes, stirring, until softened but not browned. Add the garlic, cumin, and tomato paste; stir for about 30 seconds, just until fragrant. Add the diced tomatoes and broth, scraping the bottom of the pot to loosen any paste. Stir in the bay leaf and remaining ½ teaspoon salt, then bring the liquid to a steady simmer. This brief simmer gives the tomato paste time to blend into the broth.
  3. Add the meatballs and sturdy vegetables. Lower the meatballs carefully into the simmering broth, spacing them around the pot. Add the carrots and potatoes. The broth may stop bubbling for a moment; let it return to a gentle simmer rather than turning the heat very high. Cover the pot partially and simmer for 20 to 22 minutes. Keep the liquid at a gentle bubble, since a hard boil can break up the meatballs before the rice inside has cooked.
  4. Finish with zucchini and check the meatballs. Stir in the zucchini and simmer for another 8 to 10 minutes, until the potatoes and carrots are tender and the zucchini is cooked but still holds its shape. Check the center of a large meatball with an instant-read food thermometer. Ground beef must reach the USDA FSIS safe minimum internal temperature of 160°F (71°C). If it has not reached that temperature, continue simmering and check again after a few minutes. Taste the broth and adjust the salt and pepper. Remove the bay leaf before serving.
  5. Serve while hot. Ladle meatballs, vegetables, and broth into warm bowls. Finish with lime juice and, if using, radishes or extra cilantro. Let diners add more lime at the table so they can adjust the brightness to taste.

Tips

  • Keep the meatballs tender. Mix only until the ingredients come together, and shape the meatballs with a light touch. A small cookie scoop helps make them similar in size, which makes it easier for them to cook evenly. If the mixture sticks to your hands, dampen your palms rather than adding extra rice or flour.
  • Use a gentle simmer. Once the meatballs go in, small bubbles are better than a rolling boil. The gentle heat helps them stay intact while the rice inside softens. Stir carefully, preferably by moving the vegetables around the meatballs instead of repeatedly sweeping a spoon across the bottom.
  • Choose practical ingredient swaps. Ground turkey can replace the beef, though it will taste milder; make sure it reaches 165°F (74°C) using a thermometer. Fresh mint gives the meatballs their distinctive herbal note. If it is unavailable, use 1 teaspoon (about 1 g) dried mint, or use extra cilantro for a different but pleasant flavor. Mexican oregano is also not essential; regular oregano works, with a slightly less citrusy aroma.
  • Cut vegetables evenly. Similar-size potato and carrot pieces finish at about the same time. If your potatoes are cut larger than directed, allow them a few extra minutes before adding the zucchini. Add the zucchini near the end so it does not become watery or fall apart.

Serving Suggestions

This stew is filling on its own, but warm corn tortillas are useful for scooping up the broth and vegetables. For a more substantial meal, serve it with Mexican rice, refried beans, or a simple green salad; because the stew already includes potatoes and rice-filled meatballs, a small side is usually enough. Lime wedges are especially welcome: a squeeze just before eating lifts the tomato broth without changing the seasoning in the whole pot.

Set out chopped cilantro, sliced radishes, and finely diced white onion as optional toppings. Radishes add a crisp contrast, while cilantro contributes a fresh herbal finish. If serving the stew to a group, keep garnishes on the side and ladle the broth and meatballs first, then distribute the vegetables between bowls. A little extra broth can be added at the table if someone prefers a soupier serving.

Variations

Make it spicier. Add one finely minced jalapeño to the onion as it cooks, or serve sliced jalapeño at the table. For a smokier, deeper chile flavor, stir ½ teaspoon (about 1 g) of ancho chile powder into the tomato paste. Chile heat varies, so start modestly and let people add hot sauce or fresh chile to their own bowls.

Change the meat. Ground pork or a beef-and-pork blend can replace some or all of the ground beef. Cook ground meatballs to 160°F (71°C) with a food thermometer, including when using ground pork. Ground turkey works too, but should reach 165°F (74°C); its leaner texture can be firmer, so avoid overmixing and consider using a slightly fattier grind if available.

Use other vegetables. Chayote is a traditional-feeling option in many Mexican-style soups and can be used in place of the zucchini; peel it if the skin is tough and cut it into similar-size pieces. Green beans or corn also fit well. Add green beans with the carrots and potatoes, or add corn during the final 8 to 10 minutes so it heats through without becoming soft.

Make it gluten-free. The recipe as written uses no wheat-based ingredient, but check the broth and any packaged seasonings for their labels if gluten avoidance is important. For a lighter broth, replace up to 2 cups (475 ml) of the beef broth with water, then taste and adjust salt at the end. The result will be less beefy but still flavorful from the tomatoes, herbs, and meatballs.

Storage and Reheating

Refrigerate leftovers within 2 hours of cooking in shallow, covered containers. The stew keeps for 3 to 4 days in the refrigerator. The rice in the meatballs continues to absorb some broth as it sits, so the stew may thicken; stir in a splash of broth or water when reheating. Store garnishes separately and add fresh lime after warming.

For reheating, warm only the amount you plan to eat in a covered saucepan over medium-low heat, stirring gently until hot throughout. Check that leftovers reach 165°F (74°C), the USDA FSIS reheating temperature. You can also microwave a portion in a covered, microwave-safe bowl, stirring carefully halfway through and checking the temperature in more than one spot. If freezing, cool and pack the stew in airtight freezer-safe containers; for best quality, use within about 2 to 3 months. Thaw overnight in the refrigerator and reheat to 165°F (74°C). Potatoes and zucchini may soften after freezing, but the stew remains suitable to eat when handled and reheated safely.

Frequently Asked Questions

Can I make the meatballs ahead?
Yes. Shape them up to one day ahead, cover, and refrigerate at 40°F (4°C) or below. Add them directly from the refrigerator to the simmering broth; they may need an extra minute or two, so check a meatball with a thermometer rather than relying only on the clock. You can also mix and shape them shortly before cooking while the broth heats.

Do I need to cook the rice before adding it to the meatballs?
No. The measured rice goes into the meatball mixture uncooked and softens as the meatballs simmer in the broth. Use long-grain white rice for the timing in this recipe. Brown rice takes longer to cook and is not a direct swap here; if used, cook it first and reduce the meatball simmer time only after checking that the ground beef has reached its safe temperature.

Why are my meatballs falling apart?
They may have been mixed too loosely, made very small, or cooked at a vigorous boil. The egg and rice help bind them, and shaping them gently into compact, even balls makes them easier to handle. Lower them into a steady simmer, leave them mostly undisturbed at first, and move the vegetables around them rather than stirring forcefully.

Can I make this stew without mint?
Yes. Mint is a familiar flavor in many versions of Mexican albóndigas, but recipes differ and it is not the only way to season the meatballs. Use extra cilantro, or substitute about 1 teaspoon (1 g) dried mint for the 2 tablespoons fresh. The dried herb tastes more concentrated, so avoid using a full 2 tablespoons of it.

Can I cook this in a slow cooker?
For the best texture, make the tomato base on the stovetop first, then transfer it with the broth and vegetables to a slow cooker. Add the raw meatballs carefully and cook on low until the vegetables are tender and the centers of the meatballs reach the required temperature; timing varies by appliance, so use a thermometer. Add zucchini near the end so it does not overcook. Do not put cooked stew on a delayed-start setting or leave it at room temperature for an extended time.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).