In a large heavy bottomed pot, heat olive oil over medium heat. Add chopped onions and sauté for 5 to 6 minutes until soft and golden. Stir in the garlic and cook for another minute until fragrant. This builds the flavour base, so don’t rush this part.
Increase the heat to medium to high and add the minced beef. Break it up with a wooden spoon and cook until well browned, about 8 to 10 minutes. Allow the beef to develop a good sear for deeper flavour before stirring.
Add the diced red and green bell peppers. Stir well and let them cook for 5 minutes until they begin to soften. This adds colour, texture, and sweetness to balance the spices.
Lower the heat slightly. Stir in cumin, smoked paprika, oregano, coriander, and chilli powder. Toast the spices for 1 to 2 minutes to release their oils. The aroma should be rich and earthy.
Stir in the tomato purée and let it cook for a minute to mellow the acidity. Add the canned chopped tomatoes, stirring thoroughly to combine. Scrape up any browned bits from the bottom for added flavour.
Pour in the beef stock and stir in the kidney beans. Add the sugar and season with salt and pepper. Bring everything to a gentle boil, then lower the heat and cover. Let simmer for 35 to 40 minutes, stirring occasionally.
Remove the lid for the last 10 minutes of cooking to let the stew thicken. If the mixture gets too thick, add a splash more stock or water. Taste and adjust seasoning if needed.
Stir in the lime juice just before serving. It brightens the rich flavours and balances the heat with acidity. Let it sit off the heat for 5 minutes to settle.
Ladle the chili into bowls. Top with a dollop of sour cream, chopped fresh coriander, and grated cheddar if you like. Serve with warm cornbread, tortilla chips, or steamed rice.
To finish, wipe the bowl edges clean for neat presentation. Offer extra lime wedges or hot sauce on the side for guests to personalise the heat level.