Heat the oil in a large heavy-bottomed pot over medium-high heat. Add the beef chunks and sear until browned on all sides, about 5-7 minutes, then remove and set aside.
Reduce the heat to medium, add chopped onions to the same pot, and sauté until translucent and fragrant, about 5 minutes. Stir frequently to scrape up any browned bits from the bottom.
Add minced garlic and cook for another 1 minute until aromatic. The mixture should be fragrant and slightly golden.
Return the browned beef to the pot. Sprinkle in cumin, cinnamon, and cocoa powder, stirring well to coat the meat and onions evenly. Cook for 2 minutes to toast the spices and release their aromas.
Pour in the diced tomatoes and beef broth, stirring to combine. Bring the mixture to a gentle simmer, then cover the pot and reduce heat to low. Let simmer gently for about 45 minutes, stirring occasionally until the beef is tender and the flavors meld.
Stir in drained kidney beans and cook uncovered for another 10-15 minutes, allowing the sauce to thicken slightly and the beans to heat through.
Taste the chili and season with salt and pepper as needed. Adjust any spices to your preference for extra warmth or depth.
Once thickened and flavorful, remove from heat. Serve hot, garnished with your favorite toppings if desired, and enjoy the hearty, layered flavors of this spicy beef chili.