In a large pot, brown the ground beef until no pink remains, about 20 minutes, using a wooden spoon to break up the meat. Drain the grease. Push the beef to the sides of the pot, add the oil, and sauté the onions and green pepper until they are soft, about 8 minutes
Add the garlic, chili powder, cayenne, cumin, oregano, paprika, garlic powder, salt, and tomato sauce and stir to combine.
Drain the tomatoes, reserving the liquid. Add the tomatoes to the pot. Add enough water to the tomato liquid to equal 3 cups, then add that to the pot. Simmer the mixture for 45 minutes, stirring occasionally.
Add the beans, stirring to combine. Bring the mixture to a boil, then turn off the heat.
For the best flavor, let the chili cool (about 1 1/2 hours), then cover and refrigerate for 24 hours.
To serve, reheat the chili, then sprinkle on the diced onions and shredded cheddar.