Firstly, soak the beans overnight and then the next day, drain out the water and put some fresh water.
Now bring the beans to boil and make sure that the beans are always covered with water otherwise they will discolor and get hard.
Boil the beans for 45-60 minutes until they do not fall apart.
Cook the onions, celery and the bell pepper until the onions turn golden brown. Now add garlic and cook for another 2 minutes, stir occasionally.
When the beans are boiled and drained, add the cooked vegetables to it.
Now add the smoked ham and just enough water to cover.
Bring to boil and then reduce the heat to a low simmer. Now cook the beans for at least 2 hours until it becomes creamy.
Adjust the seasonings as you go along and stir occasionally so that it does not stick to the bottom of the pot.
Serve the beans hot along with rice.