In a large pot, heat olive oil over medium heat. Add ground beef and cook until browned, about 5–7 minutes. Drain excess fat if needed.
Sauté the Vegetables:
Add diced onion, carrots, and celery to the pot. Cook, stirring occasionally, until vegetables are tender, approximately 5 minutes.
Add Squash and Garlic:
Stir in minced garlic, zucchini, and yellow squash. Cook for an additional 2–3 minutes until fragrant.
Season the Soup Base:
Mix in dried oregano, basil, thyme, salt, and pepper. Stir to combine.
Add Liquids:
Pour in diced tomatoes (with juice) and beef broth. Bring the soup to a boil, then reduce heat and simmer for 15 minutes.
Incorporate Beans and Pasta:
Add cannellini beans and pasta shells. Continue to simmer until the pasta is al dente, about 10 minutes.
Finish with Spinach:
Stir in chopped spinach and cook until wilted, approximately 2 minutes. Taste and adjust seasoning if needed.
Serve:
Ladle the soup into bowls and sprinkle with grated Parmesan cheese. Pair with crusty bread for a complete meal.
Serving and Storage Tips
