Rinse the beans in cold water first.
Remove any stones or bad beans you find.
Soak them overnight in a large bowl.
This makes them cook faster and easier.
Drain the beans before you start cooking.
Place ham in your large pot first.
Add enough water to cover it completely.
Bring it to a boil over high heat.
Then reduce heat and simmer for 45 minutes.
Remove ham and let it cool down.
Cut the meat into small bite-sized pieces.
Heat a little oil in the same pot.
Add onions and cook until they're soft.
This takes about 5 minutes of cooking.
Add garlic and cook for one more minute.
The kitchen will smell absolutely wonderful now!
Add your drained beans to the pot now.
Pour in the chicken broth slowly and carefully.
Add carrots, celery, and bay leaves too.
Throw in your thyme, salt, and pepper.
Add the ham pieces back into the pot.
Stir everything together really well.
Bring the soup to a gentle boil first.
Then reduce heat to low for simmering.
Cover and cook for 2 hours minimum.
Stir occasionally to prevent any sticking.
The beans should be very tender now.
Remove bay leaves before you serve it.