Start by chopping the onion into small pieces and finely mincing the garlic. It is always best to have these ready before you start cooking, so you do not feel rushed.
In a large pot, heat about 2 tablespoons of olive oil over medium heat. Add the onion and garlic, then stir them often for about 5 minutes. They should turn soft and smell slightly sweet, which means they are ready for the spices.
Sprinkle in your chili powder, cumin, and cinnamon. Stir for about 1 minute to let the flavors release. Then, add the ground beef. Use your spoon to break it into small bits as it cooks. Keep stirring until the beef turns brown and no pink is left.
Pour in your can of chopped tomatoes and add the tomato puree. Stir everything together. Now add the oregano, a pinch of salt, and some black pepper. Pour in the beef broth and stir again. If the mixture looks too thick, add a splash of hot water.
Turn the heat down to low and cover the pot with a lid. Let the chili simmer for about 20 minutes. This step makes the flavors blend into that deep, rich taste you are looking for.
Take the lid off. Drain and rinse your kidney beans, then stir them into the pot. Let the chili simmer for another 10 minutes without the lid so it thickens. Once done, turn off the heat, cover the pot again, and let it rest for 15 minutes before serving.