Cook the beef: In a large pot, heat the olive oil over medium heat. Add the ground beef and cook, breaking it up with a spoon, until browned and fully cooked. Drain any excess fat.
- Sauté the vegetables: Add the chopped onion and minced garlic to the pot with the beef. Cook, stirring occasionally, for 3-4 minutes, or until the onion is softened and translucent.
- Add the tomatoes and beans: Stir in the diced tomatoes (with their juices), tomato sauce, and tomato paste. Add the kidney beans, black beans, and beef broth. Stir to combine all ingredients.
- Season the soup: Add the dried basil, oregano, ground cumin (if using), salt, and pepper. Stir well to mix the seasonings into the soup.
- Simmer the soup: Bring the soup to a simmer over medium heat. Once it starts to boil, reduce the heat to low and let the soup simmer uncovered for 20-30 minutes to allow the flavors to meld and the soup to thicken slightly. Stir occasionally.
- Adjust seasoning and serve: Taste the soup and adjust the seasoning with additional salt, pepper, or herbs if needed. If the soup is too thick, you can add more broth or water to reach your desired consistency.
- Garnish and serve: Ladle the soup into bowls and garnish with fresh parsley or cilantro, if desired. Serve hot with crusty bread or crackers on the side.