Start by preparing all your ingredients. Chop the onion, carrots, celery, and potato. Mince the garlic. Set these aside for easy access during cooking.
Heat 2 tablespoons of olive oil in a large pot or Dutch oven over medium heat. Add the ground beef and cook, breaking it up with a wooden spoon or spatula until it’s browned all over. This should take about 5-7 minutes. Once browned, use a slotted spoon to transfer the beef to a plate, leaving the fat in the pot.
In the same pot, add the chopped onion, carrots, and celery. Sauté for about 5 minutes until the vegetables begin to soften. Add the minced garlic and cook for another minute, until fragrant.
Return the browned ground beef to the pot. Add the diced tomatoes (with their juice), beef broth, water, tomato sauce, diced potato, dried basil, dried oregano, and bay leaf. Stir everything together.
Bring the mixture to a boil over medium-high heat. Once boiling, reduce the heat to low, cover the pot, and let the soup simmer for 25-30 minutes. Stir occasionally, allowing the flavors to meld and the vegetables to become tender.
If you’re adding frozen peas or corn, stir them in during the last 5 minutes of cooking. This will allow them to heat through without becoming mushy.
Taste the soup and adjust the seasoning with salt and pepper as needed. Remove the bay leaf before serving. Ladle the soup into bowls and enjoy it hot with a side of crusty bread.