In a large stock pot or Dutch oven over medium-high heat, heat the oil. Once the oil is shimmery, add in the onions and saute until tender, about 4-5 minutes. Add in the garlic and saute another 30-60 seconds.
Add ground beef to the pot and cook until no more pink is visible. Drain excess fat if desired. (Tip: Place a metal colander over a large bowl and drain the meat. Then discard the cooled grease into the trash later.)
Stir in the kidney beans, black beans, tomato sauce, broth, tomato paste, diced tomatoes, chili powder, cumin, cayenne, salt, and pepper.
Bring to a boil, stirring almost constantly, and then reduce to a simmer. Simmer, uncovered, for about 20 minutes, stirring regularly to avoid scorching the bottom.
Taste and adjust salt and pepper amounts. Serve warm in bowls topped with your favorite chili toppings.