Meatballs with cabbage is a cozy one-pot dinner of tender beef-and-pork meatballs simmered with shredded cabbage in a savory tomato broth. The cabbage softens and sweetens as it cooks, making a generous, satisfying meal that is easy to serve with bread, potatoes, or noodles.
Ingredients
- 1 lb lean ground beef (454 g), preferably 85% lean
- ½ lb ground pork (227 g)
- ½ cup plain fine breadcrumbs (55 g)
- ¼ cup milk (60 ml)
- 1 large egg (about 50 g without the shell)
- ¼ cup finely chopped fresh parsley (15 g), divided
- 2 garlic cloves, finely grated or minced (about 6 g), divided
- 1 tsp fine salt (6 g), divided, plus more to taste
- ½ tsp black pepper (1 g), divided
- 1 tbsp olive oil (15 ml)
- 1 medium yellow onion, finely chopped (about 1 cup or 150 g)
- 1 medium green cabbage, cored and thinly sliced (about 6 cups or 450 g)
- 2 tbsp tomato paste (32 g)
- 1 can diced tomatoes, with their juices (14.5 oz or 411 g)
- 1½ cups low-sodium beef or chicken broth (355 ml)
- 1 tsp sweet paprika (2 g)
- ½ tsp dried thyme (about 0.5 g)
- ⅛ tsp red pepper flakes (about 0.3 g), optional
- 1 tsp lemon juice (5 ml), optional, for finishing
Instructions
- Prepare the meatball mixture. In a large bowl, stir the breadcrumbs and milk together and let them stand for 2 minutes so the crumbs can absorb the liquid. Add the egg, beef, pork, half the parsley, half the garlic, ½ teaspoon of the salt, and ¼ teaspoon of the pepper. Mix gently with your hands or a fork just until combined. Stop as soon as there are no dry patches; compacting the mixture can make the meatballs dense. Shape it into about 16 meatballs, roughly 1½ inches (4 cm) across. Set them on a clean plate while you prepare the pot.
- Brown the meatballs. Heat the olive oil in a wide, heavy pot or deep skillet over medium heat. Arrange the meatballs in a single layer, working in batches if needed so they are not crowded. Brown them for about 8 minutes total, turning every couple of minutes to color several sides. They do not need to be cooked through yet. Transfer them to a clean plate; leave the flavorful browned bits and a thin film of fat in the pot. If the pan is dry, add a teaspoon of oil.
- Cook the aromatics. Add the chopped onion and cook for 3 minutes, stirring and scraping up browned bits until the onion starts to soften. Add the remaining garlic and cook for 1 minute, stirring constantly so it does not burn. A gentle sizzle is useful; if the garlic begins to darken quickly, lower the heat.
- Soften the cabbage. Add the sliced cabbage, paprika, thyme, red pepper flakes if using, and the remaining salt and pepper. Stir for 4 minutes. The cabbage will begin to wilt but will still look bulky. If it is difficult to turn, add a tablespoon of broth and cover the pot for 1 minute, then stir again.
- Make the tomato broth. Stir in the tomato paste until it coats the cabbage and onion. Add the diced tomatoes and broth, then bring the liquid to a gentle simmer, which should take about 2 minutes. Scrape the bottom of the pot once more to loosen any browned pieces. Taste a spoonful of the liquid and adjust the salt if needed, remembering that it will reduce slightly as it cooks.
- Simmer until cooked through. Nestle the browned meatballs into the cabbage and spoon a little of the tomato mixture over them. Cover the pot and simmer gently for 24 minutes, turning the meatballs once if they are not mostly surrounded by liquid. Keep the heat low enough that the sauce bubbles quietly rather than boiling hard. Check the center of the largest meatball with a food thermometer: it must reach 160°F (71°C), the USDA FSIS safe minimum internal temperature for ground meat. If needed, cover and simmer for a few more minutes, then check again. Stir in the remaining parsley and, if you like, the lemon juice just before serving.
Tips
- Keep the meatballs tender. The milk-soaked breadcrumbs and egg help hold moisture and bind the mixture. Mix lightly, and use damp hands to shape the meatballs without squeezing them tightly. If the mixture feels sticky, chill it for 10 minutes while you finish chopping; this is optional and adds time to the recipe.
- Cut the cabbage evenly. Thin, similar-size strips soften at about the same rate and are easier to eat with a fork. Very thick wedges take longer to become tender and may need extra simmering. Remove the tough core before slicing.
- Choose a practical substitute. Plain panko works in place of fine breadcrumbs, though the texture may be slightly lighter; use the same volume. For a gluten-free version, use certified gluten-free breadcrumbs. Unsweetened dairy-free milk can replace cow’s milk without changing the method.
- Brown in batches, not all at once. Crowding traps steam and prevents good browning. The browned crust is for flavor, not a sign that the centers are done, so still check the finished meatballs with a thermometer.
Serving Suggestions
Serve the meatballs and cabbage in shallow bowls with plenty of the tomato broth. Crusty bread is an easy choice for soaking up the sauce; buttered egg noodles, mashed potatoes, or boiled potatoes make the meal more substantial. Rice also works well if you want a neutral base that lets the cabbage and tomato flavor stand out.
For a fresh contrast, add a simple green salad dressed with vinegar, or serve cucumber slices on the side. A spoonful of sour cream or plain yogurt can be added at the table, but keep it separate until serving so it does not curdle in the hot pot. A little extra chopped parsley or a squeeze of lemon brightens each bowl without changing the dish’s hearty character.
Variations
Use all beef or all pork: Replace the beef-and-pork combination with 1½ lb (681 g) of either ground meat. All beef gives the sauce a deeper, beefier flavor; all pork makes the meatballs a little richer. Keep the same thermometer target of 160°F (71°C) for either ground meat.
Make it with ground turkey: Substitute 1½ lb (681 g) ground turkey for the beef and pork. Turkey is leaner, so avoid overmixing and do not skip the breadcrumbs and milk. Cook the meatballs to 165°F (74°C), the USDA FSIS safe minimum for poultry, checking the center of the largest one.
Adjust the tomato flavor: For a less tomato-forward broth, use 1 cup (240 ml) broth and ½ cup (120 ml) water in place of the 1½ cups broth, or leave out the tomato paste. The result will be lighter and less rich. If you like a bolder, gently sweet sauce, add 1 teaspoon (5 g) brown sugar, though it is not necessary for the recipe.
Add other vegetables: Stir in 1 sliced carrot with the onion for extra sweetness, or add 1 cup (150 g) sliced mushrooms and cook them until their released liquid mostly evaporates. Keep the cabbage amount the same so the pot does not become too crowded. You may need a few extra minutes of simmering if the vegetables are cut thickly.
Storage and Reheating
Refrigerate leftovers within 2 hours of cooking. Once the food has stopped steaming heavily, transfer it to shallow, airtight containers so it cools promptly. The meatballs and cabbage keep for 3–4 days in the refrigerator. Store them with the sauce; it helps keep the meatballs moist and makes reheating easier.
For longer storage, freeze cooled portions in airtight, freezer-safe containers for up to 2–3 months for best quality. Thaw overnight in the refrigerator when possible. Reheat a portion gently in a covered saucepan over medium-low heat, adding a splash of broth or water if the sauce has thickened. You can also use a microwave-safe dish, cover it loosely, and pause to stir or turn the meatballs so they heat evenly. Reheat leftovers to 165°F (74°C), checking the center with a food thermometer. Avoid repeatedly cooling and reheating the full pot; warm only the amount you plan to serve.
Frequently Asked Questions
Can I make the meatballs ahead?
Yes. Shape the uncooked meatballs, cover them, and refrigerate for up to 1 day before browning. Keep them separate from ready-to-eat foods and wash any surface or utensil that touched raw meat. You can also make the full dish ahead and refrigerate it; the cabbage will soften further, but the flavor remains good.
How do I know when the cabbage is done?
It should be wilted and tender enough to cut easily with the side of a spoon, but it does not have to disappear into the sauce. If you prefer a little bite, begin checking near the end of the simmer. For softer cabbage, let the pot cook a few minutes longer, checking that there is still enough liquid to prevent sticking.
Can I use bagged shredded cabbage?
Yes. Use about 6 cups (450 g) of plain shredded cabbage and check that it does not contain a dressing or seasoning. Bagged shreds are often finer than hand-cut strips, so they may soften sooner. Add them at the same point in the recipe and start checking their texture during the last few minutes.
Can I cook this in the oven?
The stovetop method gives you direct control over browning and simmering. If you prefer the oven, use an oven-safe covered pot and transfer it after adding the tomatoes and broth to a preheated oven at 325°F (163°C). Bake gently until the meatballs reach the required internal temperature and the cabbage is tender; begin checking at about 25 minutes, since pot size and meatball shape affect the time.
Why are my meatballs falling apart?
The mixture may need more binding or gentler handling. Measure the breadcrumbs and milk accurately, include the egg, and mix just until combined. Letting the meatballs brown undisturbed for a few minutes helps form a crust before turning them. If the mixture is unusually wet, add 1 tablespoon (7 g) breadcrumbs at a time, but avoid adding so much that the meatballs become dry.
Can I make this without pork?
Yes. Use all ground beef, or use ground turkey and cook it to 165°F (74°C). If using very lean beef or turkey, the meatballs may be less rich; the milk-soaked crumbs help preserve a tender texture. The cabbage, tomato, and broth quantities can stay the same.
Related
- Kaju Fudge Recipe: Smooth, Creamy Indian Cashew Barfi
- Kale Mashed Potatoes with Garlic and Cream
- Just Fruit Smoothie Recipe: Easy, Flexible Blend
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).