Reserve the flavor packet from the bag of beans, cover the beans with at least 2 inches of water and soak for 8 – 24 hours. Drain and rinse.
Combine the salt, pepper, and chili powder in a small bowl. Sprinkle the beef with the mixture, coating evenly.
Heat the oil over medium-high heat in a large stock pot or Dutch oven until hot. Add the beef in 2 batches, cooking each batch until browned on all sides (about 5 – 6 minutes per batch). Remove beef to a plate and reserve. Add the onion to the pan and cook until it softens and starts to brown, about 3 minutes. Add the garlic; cook for 30 seconds then stir in the beef, beans, reserved flavor packet, chipotle puree, canned tomatoes, and water. Bring to a boil, cover the pan, reduce to a simmer and cook for 1 hour. Remove the lid and continue to simmer for another 30 minutes or until the beef and beans are tender and the liquid has reduced down to the thickness you prefer. Taste and adjust seasoning with more salt, pepper, or chipotle puree, if desired.
Notes
*create chipotle puree by blending a can of gluten free chipotle in adobo sauce in the blender until smooth. Store in a covered jar in the refrigerator for up to 6 months.