This Italian Wedding Soup is the kind of dinner that makes the whole kitchen smell like a Sunday afternoon in Naples. Tender little meatballs, tiny pasta, and wilted spinach simmer together in a rich parmesan broth until every spoonful feels like a warm hug. It's hearty enough to be dinner on its own, but light enough that you won't feel weighed down afterward.
Small cookie scoop optional, for evenly sized meatballs
Box grater for fresh Parmesan
Cutting board
Chef's knife
Wooden spoon
Ladle
Measuring cups
Measuring spoons
Ingredients
1/2poundground beef225g
1/2poundground pork225g
1/3cupplain breadcrumbs40g
1large egg
1/4cupParmesan cheese25g, grated, plus extra for serving
2tablespoonsfresh parsleychopped
2clovesgarlicminced, for the meatballs
1/4teaspoonsalt
1/4teaspoonblack pepper
1tablespoonolive oil
1smallonionabout 1 cup or 150g, diced
2carrotsdiced
2celery stalksdiced
2clovesgarlicminced, for the soup
8cupschicken broth1.9 L
3/4cupacini di pepe pasta120g
5ouncesbaby spinach140g, roughly chopped
saltto taste
black pepperto taste, plus extra for serving
For Serving
Parmesan cheesefreshly grated
Instructions
In a large mixing bowl, combine the ground beef, ground pork, breadcrumbs, egg, grated Parmesan, parsley, minced garlic, salt, and pepper. Use your hands to gently mix until just combined.
Let the mixture rest for 5 minutes, then portion into balls about 3/4 inch in diameter. Roll gently between your palms to smooth.
Heat olive oil in a large Dutch oven over medium-high heat. Working in batches, brown the meatballs on all sides for 4 to 5 minutes per batch. Transfer to a plate.
Add the onion, carrots, and celery to the pot and cook for 5 to 6 minutes until softened. Add the garlic and cook for 30 seconds until fragrant.
Pour in the chicken broth and scrape up any browned bits from the bottom. Bring to a gentle boil, then reduce to a simmer and season with salt and pepper.
Add the acini di pepe pasta and return the browned meatballs to the pot. Simmer uncovered for 8 to 10 minutes until the pasta is tender and the meatballs are cooked through.
Stir in the chopped spinach and cook for 1 to 2 minutes until wilted. Taste and adjust seasoning with salt and pepper, then remove from heat.
Ladle the soup into bowls and top with extra grated Parmesan cheese and a crack of fresh black pepper. Serve immediately.
Notes
Keep the meatballs small, about 3/4 inch in diameter, so they cook quickly and fit easily on a spoon.
Don't skip browning the meatballs, as the browned bits add deep flavor to the broth.
Cook the pasta separately if you're planning leftovers, then add it to individual bowls to keep it from soaking up the broth overnight.
Use freshly grated Parmesan rather than pre-shredded for a smoother melt and richer flavor.
Add a splash of dry white wine with the broth for a deeper, more complex flavor.
This soup freezes well without the pasta for up to 3 months. Add freshly cooked pasta when reheating.
Store cooled soup in the refrigerator for up to 4 days. Reheat gently on the stovetop over medium-low heat.
Swap the beef and pork for ground turkey or chicken for a lighter version of the soup.
Use escarole instead of spinach for a more traditional, slightly bitter green that holds up well in broth.
For a low-carb option, skip the pasta and add a can of drained cannellini beans instead.