Heat the oil in a large pot over medium heat. Sauté the onion until it’s translucent and smelling good, about 3–4 minutes. Garlic goes in for the last 30 seconds—don’t burn it.
Add the ground meat. Break it up with a spatula and cook until it’s browned all the way through. Drain excess fat if you’re feeling dramatic about calories.
Stir in chili powder, cumin, and paprika. Let the spices bloom for about 1 minute, then pour in the tomatoes, tomato sauce, and broth.
Bring to a gentle simmer, then add beans. Season with salt and pepper. Simmer uncovered for 20–25 minutes, stirring occasionally, until flavors mingle and the chili thickens slightly.
Taste and adjust seasoning. If you like it bolder, add a pinch more chili powder or a splash of hot sauce. If it’s too thick, splash in a little water or broth.
Serve hot with your favorite toppings and a side that won’t overthrow the chili’s glory. Enjoy!