Heat a large saucepan or Dutch oven over medium-high heat and cook ground beef until browned, 4 to 5 minutes. Add onion and celery and cook, stirring, until onion is soft and translucent, 3 to 4 minutes. Stir in garlic and cook, stirring, until fragrant, about 1 minute.
Pour in beef stock and stir, scraping up any browned bits from the bottom of the pot. Bring to a boil and add carrots.
Tie parsley, rosemary, thyme, and sage together into a bundle with cooking twine and add to the pot. Add bay leaf and season soup with salt and pepper. Bring to a boil, cover, reduce heat, and simmer for about 10 minutes.
Increase heat to medium and add potatoes, green beans, corn, and drained tomatoes. Return soup to a boil, partially with a lid so steam can still escape, and simmer until potatoes are fork-tender, about 25 minutes. Remove herb bundle and bay leaf and discard. Adjust salt and pepper, if needed.