Rinse and soak the dried pinto beans overnight in water.
Chop the onion, carrot, bell pepper, and celery. Mince the garlic.
In a large pot, heat olive oil over medium heat. Add ground beef and cook for 5 to 7 minutes until browned.
Add chopped vegetables and sauté for 5 minutes until softened.
Stir in diced tomatoes, soaked pinto beans, and beef broth. Bring to a boil.
Reduce heat to low, cover, and let simmer for 90 to 120 minutes.
Taste and adjust seasoning with salt and pepper. Serve hot, garnished with fresh cilantro.