Heat the olive oil in a large pot over medium heat. Add the ground beef and cook until browned, breaking it up with a spoon as it cooks.
Add the onion and garlic to the pot. Stir and cook for 3 minutes until the onion softens.
Stir in the carrots and potatoes. Cook for 2 minutes to coat them with the meat juices.
Pour in the diced tomatoes with their juice, beef broth, thyme, and Worcestershire sauce. Season with salt and pepper.
Bring the mixture to a boil, then reduce the heat to low. Cover and simmer for 25 minutes, stirring once or twice, until the potatoes and carrots are tender.