Rinse the dry pinto beans under cold water, removing any debris or damaged beans. Soak the beans overnight in water or use the quick soak method by boiling them for 1 hour and then let them sit off the heat for 1 hour. Drain the beans before using.
In a large skillet over medium heat, brown the ground beef until fully cooked, about 5-7 minutes, breaking it up with a wooden spoon as it cooks. Drain any excess fat.
Add the chopped onion and minced garlic to the skillet with the ground beef. Sauté for about 3-4 minutes or until the onion is translucent.
Transfer the beef mixture to the slow cooker. Add the soaked and drained pinto beans, diced green chiles, beef broth, cumin, chili powder, salt, black pepper, and bay leaf.
Stir the ingredients together, ensuring that everything is well combined. Cover the slow cooker and set it to low. Cook for 8 hours or until the pinto beans are tender.
Once cooked, remove the bay leaf before serving. Taste and adjust seasoning if needed.
Serve hot, topped with optional shredded cheese, sour cream, and chopped cilantro if desired.