Heat the oil in a large Dutch oven over medium-high heat. Add the onion and cook until tender, about 5 minutes.
Add the ground beef. Cook, stirring occasionally, until the beef is browned and crumbly. (Drain fat if necessary).
Add the chili powder, salt, pepper, garlic powder, onion powder, paprika, and granulated sugar and stir until fragrant.
Stir in the beef broth, diced tomatoes, crushed tomatoes, tomato paste, and beans.
Bring the chili to a boil. Reduce the heat to medium-low and cook, stirring occasionally, until the chili is thickened, about 1 hour.
Ladle the chili into bowls and serve with desired toppings.