Place the pinto beans in a large bowl and cover with water. Soak for 8–12 hours, then drain and rinse before cooking.
Heat the vegetable oil in a large pot or Dutch oven over medium heat.
Add the chopped onion and cook for 3–4 minutes until soft and translucent.
Stir in the minced garlic and cook for 1 minute until fragrant.
Add the ground beef or chorizo. Break it apart and cook for 5–7 minutes until fully browned. Drain excess grease if needed.
Mix in the diced tomatoes with their juice, jalapeños, cumin, chili powder, paprika, oregano, salt, and pepper. Stir well to combine.
Add the soaked beans and pour in the broth or water, ensuring everything is fully covered.
Bring to a boil, then reduce heat to low and let it simmer gently, partially covered, for 1.5 to 2 hours until beans are tender.
Stir occasionally and add more liquid if needed. Taste and adjust seasoning.
Serve hot, topped with fresh cilantro and a squeeze of lime.
