Sort and wash beans; place in a large Dutch oven. Cover with water to 2 inches above beans, and bring to a boil; cook 2 minutes. Remove from heat; cover and let stand 1 hour.
Drain beans, and return to pan. Add 5 cups water, onion, and garlic; bring to a boil. Cover, reduce heat, and simmer 2 hours or until tender. Drain beans in a colander over a bowl, reserving 1 1/2 cups cooking liquid. Combine reserved cooking liquid, chili powder, cumin, pepper, and salt in pan. Add half of beans, and mash. Stir in remaining beans; cook over medium-low heat 5 minutes or until thickened, stirring occasionally.