Heat a couple of tablespoons of vegetable oil in a large pot or Dutch oven over medium-high heat. Add the chopped onion and sauté for a few minutes until they have softened and are translucent. Add the minced garlic and sauté until they become fragrant. Add the chopped bell pepper (if using) and cook for a few minutes until it begins to soften.
Add the ground beef and sauté for 6 to 8 minutes, until it has browned. Season the meat with salt and pepper. Add tomato paste and stir for a minute.
Add the diced tomatoes, beef broth, cumin powder, coriander powder, turmeric powder, paprika powder, chilli flakes and chilli powder, dried oregano and bay leaf, and stir well. Then, add the drained kidney beans. Mix everything together. Cover the pot.
Bring the mixture to a boil, then reduce the heat to low. Let it simmer for at least 60 minutes to allow the flavours to meld together. You can simmer it longer for even more depth of flavour.
Adjust the seasoning and chilli powder to your desired level of spiciness.
Serve the chilli in bowls and serve it with your choice of toppings, such as shredded cheese, sour cream, chopped cilantro, green onions, or diced avocado. Enjoy with nacho chips or brown rice.