Place a large soup pot with olive oil over medium-high heat. Once the olive oil is heated, add the chopped onion and sauté for 3-4 minutes. Or until translucent.
Add the minced garlic and cook for one minute. Add the ground beef, breaking it apart with a wooden spoon as it begins to brown. Once the beef has browned, drain off any excess fat (if desired or using regular ground beef rather than lean).
Add the beef broth, tomato sauce, tomato paste, diced tomatoes, water*(see notes below), and remaining seasonings. Stir to combine and bring to a boil.
Add the pasta and cook it according to the packages instructions for 'al dente'. Approximately 7-10 minutes. Taste test for doneness at 7-8 minutes. Add the chopped spinach the last few minutes the pasta is cooking and allow it to cook until wilted.
Garnish each bowl of soup with shredded mozzarella cheese, a scoop of ricotta cheese, parmesan cheese, and freshly chopped parsley.
