In a large pot, heat the oil over medium heat. Add the onion and saute for a few minutes. Add the celery and cook for a few more minutes.
Add the ground beef, break up and brown. Once the meat is browned add the peppers and garlic and stir while cooking for a few minutes. Add the tomatoes, beans and spices(everything else, except the cornstarch) and stir well. Bring to a boil, then reduce to a simmer.
Simmer for at least 30 minutes, or for as much time as you have available. Before serving, stir the cornstarch with a small amount of water to make a slurry. Add this to the pot and stir well, then just cook until thickened.
Serve immediately with your favorite toppings, such as grated cheddar cheese and sour cream.
To make this prep a little faster, I like to prep other ingredients while the onions are sauteing or while the beef is browning. While other ingredients are cooking I open all the cans, drain and rinse the beans, measure all the spices into a small bowl so it can quickly be dumped into the pot. I like to simmer this chili for as long as possible so the flavors can deepen, but this chili can be made fairly quickly if you don't simmer for very long.
You'll notice the amount of chili powder can vary. If you're sensitive to spicy things start with 1/3 cup, you can always add more. I prefer the full amount.