On a stove top heat olive oil in a large soup pot over medium high heat.
Next add chopped onions and saute for 4 minutes, then add garlic and saute for an additional 1 minute. Add beef and cook while stirring consistently to break meat into small pieces with wooden spoon. Cook until the beef has browned while stirring to keep it from burning. Once the beef is browned, drain any fat.
Next, add diced tomatoes, drained beans, tomato sauce, ketchup, beef broth, chili powder, cumin, paprika, oregano, brown sugar, and cayenne to the pot and season mixture with salt and pepper to taste. Stir to combine all ingredients evenly.
Bring to a low boil over medium-high heat then reduce heat to low to medium-low and gently simmer for 30 minutes uncovered while occasionally stirring.
Remove pot from heat and let the chili rest for 10 minutes before serving. Serve with your preference of toppings such as shredded cheddar cheese, sour cream, chopped red onions, hot sauce.