Gather all your ingredients to make the cooking process smoother.
Heat a large pot over medium heat, add olive oil if desired, and sauté the diced onion for 3-4 minutes until soft. Then add minced garlic and cook for another minute.
Add the ground beef to the pot, breaking it up as it cooks. Stir frequently until browned, about 5-7 minutes. Drain excess fat if necessary.
Pour in the crushed tomatoes and stir well. Optionally add chopped spinach or zucchini.
Add the beef broth, Italian seasoning, salt, and black pepper. Bring to a boil, then reduce heat and let simmer for 20 minutes.
In a separate bowl, combine ricotta cheese, half of the mozzarella, and Parmesan cheese. Mix well.
Ladle the soup into bowls, add a dollop of the cheese mixture, and top with remaining mozzarella. Garnish with fresh basil if desired.