Using a large pot or Dutch oven, add beans and enough water to cover beans by ~1-2”. Place over medium-high heat and bring to a boil.
Once boiling, remove saucepan from heat, cover and let rest for 1 hour.
Drain beans and rinse with cold water; let beans rest in colander while you cook the bacon.
Using the same large saucepan, add the chopped bacon and place over medium-high heat. Sauté, stirring occasionally, for 4-5 minutes.
Add onion, celery, carrots, garlic, salt, pepper, thyme, Cajun seasoning, crushed red peppers and bay leaves; stir until well combined. Continue sauteing, stirring occasionally, for 5-6 more minutes.
Add beans, butter, chicken stock and enough water to cover the beans. Reduce heat to medium-low and simmer for 75-90 minutes, or until beans are soft. (Note: Check water level occasionally; if beans are not covered with water, add more water to cover.)
Notes
I did not soak overnight, but you can soak the beans overnight (12-16 hours) and then start this recipe up at Step 3.