Take a Dutch oven or a cast iron pot and put beef stock or canned low-sodium beef broth in it. Place it over medium- high heat and cook for around 6 minutes, or until the meat turns brown. Now add in onions, bell pepper, black pepper, cayenne pepper, garlic, chilli powder, salt, cumin, coriander, and cinnamon and cook for another 6 minutes, or until the vegetables turn soft.
Now add in bay leaves, tomatoes, and stock and bring the mixture to a simmer. Partially cover the cast iron pot and cook for around 40 minutes. During this process, stir after every 5 to 10 minutes.
Add all the beans to the mixture and mix well to blend them together, before cooking for another 20 to 30 minutes, or until the chilli beans have thick consistency. Add in cilantro and adjust the seasoning.
It is now time to use grated cheddar, sour cream and chopped green onions for garnishing purpose.