01 - In a large soup pot, heat olive oil over medium heat. Add the ground beef and cook, breaking it up with a wooden spoon, until fully browned. Drain any excess fat if necessary.
02 - Add diced onion, carrots, and celery to the beef. Sauté for 4 to 5 minutes until the vegetables begin to soften.
03 - Stir in minced garlic, dried basil, oregano, and thyme. Continue to cook for about 1 minute until the mixture is fragrant.
04 - Add the canned diced tomatoes, tomato sauce, and beef broth. Stir to combine, then bring the mixture to a gentle simmer.
05 - Stir in small pasta shells or ditalini. Simmer uncovered for 10 minutes, stirring occasionally to prevent sticking.
06 - Add frozen peas and baby spinach, if using, during the last 2 to 3 minutes of cooking. Continue simmering until pasta and vegetables are tender.
07 - Season with salt and pepper to taste. Ladle the soup into bowls and garnish with grated Parmesan if desired. Serve hot.