Hearty Meatball Soup (Print Version)

# Ingredients:

→ Meatballs

01 - 1 batch homemade meatballs (or 18-20 oz. frozen meatballs, thawed)

→ Soup Base

02 - 1 tablespoon olive oil
03 - 1 yellow onion, diced
04 - 6 cloves garlic, minced
05 - 1 tablespoon Italian seasoning
06 - 2 tablespoons tomato paste
07 - 32 oz. chicken broth
08 - 28 oz. can crushed tomatoes
09 - 8 oz. (about 2 1/2 cups) uncooked rotini pasta
10 - 2 cups baby spinach
11 - 1/2 cup heavy cream
12 - Kosher salt, to taste
13 - Fresh cracked pepper, to taste

→ Garnish

14 - Shaved Parmesan cheese
15 - Fresh parsley, chopped

# Instructions:

01 - Use homemade Italian meatballs, air fryer meatballs, or thawed frozen meatballs (18-20 oz) that have been cooked according to package directions.
02 - Heat olive oil in a large pot over medium heat. Add diced onion with a couple pinches of salt and pepper. Cook for 6-8 minutes until onions begin to caramelize.
03 - Add minced garlic, Italian seasoning, tomato paste, and additional salt and pepper. Cook for 1 minute, stirring frequently.
04 - Pour in a splash of broth and scrape all the flavorful bits from the bottom of the pot.
05 - Add remaining broth, crushed tomatoes, uncooked pasta, and cooked meatballs with additional salt and pepper.
06 - Bring to a simmer over medium-high heat, then reduce to low. Cover and cook for 12-15 minutes until pasta reaches al dente texture.
07 - Stir in baby spinach and heavy cream until spinach wilts and soup is warmed through.
08 - Season to taste with salt and pepper. Garnish with shaved Parmesan and freshly chopped parsley before serving.

# Notes:

01 - For best results, avoid overcooking the pasta to maintain its texture in the soup.
02 - The soup can be stored in an airtight container in the refrigerator for up to 3 days.