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 diced onion and sliced carrots. Cook for 5 minutes until the onion softens.
Stir in the minced garlic, cumin, paprika, cinnamon, ginger, salt, and black pepper. Cook for 1 minute until the spices smell fragrant.
Pour in the diced tomatoes and beef broth. Bring the mixture to a simmer.
Add the green beans and cook for 10 minutes until the carrots are tender and the green beans are still slightly crisp.
Ladle the stew into bowls and top each serving with chopped cilantro.