
This cozy soup pulls together juicy handmade meatballs, creamy beans, and a tasty tomato broth you'll want to dive into on a busy night. Every spoonful warms you straight to your toes, and you’ll be surprised by how fast it all comes together.
The first time my family had this was during a winter chill—we wanted something hearty, and after trying it, we couldn’t stop making it all season. Now I whip it up anytime we need a filling, feel-good meal without babysitting the stove.
Cozy Ingredients
- Fresh thyme: finish off each bowl with earthy, herby flavor—pluck the leaves off right before serving
- Parmesan cheese for topping: for a nutty boost—grab some fresh and shred it yourself
- Italian seasoning: sprinkle in for an herby punch—check the smell to make sure it’s still lively
- Fresh garlic: chop up a clove or two for bold flavor—do it just before you cook
- Crushed tomatoes: for tang and rich color—use a good can for natural sweetness
- Cannellini beans: smooth and full of protein—pick those with intact skins
- Beef broth: for a savory backbone—low sodium is easier to balance
- Lean ground beef: hearty yet light—aim for either 80/20 or 90/10 fat
- Freshly ground black pepper: grind right before adding for max flavor — brings a gentle kick
- Kosher salt: keep tasting as you cook for the best flavor
- Fresh parsley: chop it up really fine for a bright touch—go for deeply green leaves
- Parmesan cheese: mix in some finely grated for savory depth
- Large egg: makes the meatballs hold—pick a fresh one, no cracks
- Milk: soaks the bread for moist meatballs—full or low-fat works
- Whole wheat breadcrumbs: adds texture and fiber—get the soft, fine kind if you can
Simple Steps
- Dive in and Dish Up:
- Scoop the hot soup into bowls. Drop a heap of shredded Parmesan on top with some thyme. The cheese gets all melty, making each bite extra creamy and good.
- Let it All Simmer:
- Keep the heat low and let everything bubble gently for about twenty minutes. This gives all the flavors time to come together, no overcooked meatballs here.
- Mix Everything in the Pot:
- Slip the baked meatballs into your peppery broth. Toss in beans (liquid and all), tomatoes, garlic, seasoning, and a bit more salt. Give it all a good swirl and let it hang out together.
- Get the Soup Ready:
- While your meatballs finish in the oven, heat the beef broth in a big soup pot until it's bubbling nicely.
- Make and Bake the Meatballs:
- Roll your meat mixture into balls, about an inch and a half each, and spread them out on a lined baking sheet. Pop in the oven at 400°F for around 12-15 minutes so they’re juicy and a little golden.
- Get Hands-On with Mixing:
- Put beef, egg, Parmesan, parsley, and your seasonings in a large bowl. Add the soaked breadcrumbs and mix with your hands—don't squash too much or they’ll get dense!
- Start the Mix:
- Pour milk over your breadcrumbs and let them soak until fully damp. That’s the secret to meatballs that stay soft, not dry.

I always taste a meatball or two fresh out of the oven—they're tasty all by themselves, but after soaking up the broth, they're next-level comforting. My kids can’t resist dipping big chunks of bread right into their bowls—we’ve made it a cold-weather Sunday ritual.
How to Store
Keep this soup in the fridge for up to three days—it stays great in any airtight container. When reheating, go gentle so your meatballs stay soft! For longer storage, let it cool off, then freeze for up to three months in lidded freezer containers. Jot the date on so you remember what’s inside.
Swap Options
Ground turkey or chicken works in place of beef for a lighter touch in your meatballs. Can't find cannellini beans? Try great northern or navy beans—any firm white bean holds up. If you’re out of crushed tomatoes, diced will do, though the texture will change a bit.
How to Serve
Pair it with toasted crusty sourdough or garlicky bread—it’s perfect for dunking! Toss together a crisp green salad with a splash of Italian-style dressing to make it a meal. Want more? Drizzle some olive oil or grate extra Parmesan on top for extra richness.
Roots and Traditions
This soup is where Italian comfort meets American family vibes. The beans and tomatoes remind me of classic Italian stews, but baking the meatballs keeps things modern and lighter than frying. It’s the kind of meal that feels both comforting and a little special.
Common Recipe Questions
- → What's the trick for soft meatballs?
If you soak breadcrumbs in milk first and combine everything gently, your meatballs will turn out super tender instead of chewy.
- → Can I use a different bean if I don't have cannellini?
Definitely! Navy beans or great northern beans fit right in and taste just as good in this mix.
- → How should I heat up the soup again?
Just pop it back on the stove over low heat. If it's thickened up, pour in a bit of broth to loosen it while it warms.
- → Can I stash this soup in the freezer?
For sure! Once it's cooled off completely, move it into an airtight container and freeze. It'll keep fine for three months, ready when you want it.
- → What toppings make this even better?
A sprinkle of parmesan and some fresh thyme brighten things up right before you dig in. Try them for an extra flavor boost!