Preheat oven to 300f and set the rack to the middle level.
Heat a large Dutch oven to medium heat and saute the onion in 2 tablespoons of vegetable oil until soft (about 5 minutes).
Add the ground beef and saute until browned while breaking it up with a wooden spoon (about 7 minutes).
While the beef is cooking bloom the spice mixture. Heat a pan to medium heat and add the remaining 2 tablespoons of vegetable oil along with the prepared spice mixture. Cook for 1-2 minutes or until very fragrant. Once fragrant add a 1/4 cup of water to the pan.
Once the beef is browned add the bloomed spice mix to the beef and continue to cook for another 1 minute stirring to incorporate.
Add the tomato paste to the beef and cook for 3 minutes stirring well to combine. Next, add the salt, sugar, and garlic powder and mix well.
Add the Guinness, low-sodium beef stock, and kidney beans, and bring to a boil. Once boiling, give it all a stir then turn the heat off and cover. Place the Dutch oven in the oven for 75 minutes.
After 75 minutes remove the lid and return to the oven for another 30-45 minutes or until the chili has thickened. For a thicker chili, cook uncovered for another 30 minutes. Alternatively, place the pot on a burner and cook over medium heat until thickened to your liking.
Remove the pot from the oven and add the chocolate, stirring to combine. Taste test the chili and adjust salt and spice levels to taste. An easy way to bring up the spice level quickly is with cayenne powder to taste. Serve in bowls topped with sour cream, diced raw onion, cheddar cheese, or whatever you like. Enjoy!