Ingredients

1 lb. ground beef

1/2 c. Italian bread crumbs

2 cloves garlic, minced

1/4 c. fresh Italian parsley, chopped

1 tsp. crushed red pepper flakes

kosher salt

Freshly ground black pepper

2 tbsp. extra-virgin olive oil

1 large onion, diced

1 large clove garlic, minced

2 tbsp. tomato paste

1 28-oz. can crushed tomatoes

3 c. low-sodium beef broth

1 c. skim milk

3 c. shredded mozzarella

1/2 c. freshly grated Parmesan

1 tsp. dried oregano

kosher salt

Freshly ground black pepper

Baguette slices, for serving

Preparation

Step 1Make the meatballs: Preheat oven to 350º and line two baking sheets with parchment paper. In a large bowl, combine ground beef, bread crumbs, garlic, parsley, and crushed red pepper flakes and season with salt and pepper. Step 2Roll into meatballs and transfer to one prepared baking sheet. Step 3Bake until browned and cooked through, 15 minutes, then heat broiler.Step 4Make the soup: In a large pot over medium-high heat, heat oil. Add onion and cook until soft and golden, 6 minutes, then add garlic and cook until fragrant, 1 minute. Add tomato paste and stir until combined, then add tomatoes, beef broth, and milk and stir until combined. Step 5Add meatballs and bring to a simmer, then add half the mozzarella and all the Parmesan. Season with oregano, salt, and pepper. Step 6Ladle soup into four oven-safe ramekins and top with a baguette slice. Top with remaining mozzarella and broil until browned and bubbly, 2 to 3 minutes. Serve hot.