Soak beans overnight in the water OR bring to boil then let stand for 1 hour; drain.
Mix in garlic, celery, carrot, onion, jalapeño and bay leaf in 3 tablespoons of olive oil, then add to a stock pot and cook until vegetables are tender, stirring occasionally, about 10 minutes. By mixing the vegetables with the olive oil before putting them into the pan, you will maintain the good fats and essential minerals of the oil through cooking.
Add chili powder, cumin, cayenne and pepper.
Stir until aromatic, about 1 minute.
Add beans and broth.
Cook at a slow boil until beans are tender and most of the liquid is absorbed, stirring occasionally, about 1 1/2 to 2 hours. I have used more broth to make it a soup.