Heat a splash of olive oil in a large pot over medium heat. Add the onions and peppers. Sauté until they’re softened and smelling amazing, about 5 minutes.
Add the garlic and cook 30 seconds more, just until fragrant. No burnt garlic—nobody needs a smoky surprise in soup.
Push veggies to the side, crumble in the beef, and brown it. Break it up as it cooks so you don’t end up with giant meat rocks.
Season with chili powder, cumin, paprika, and chili flakes. Stir to coat the meat and veggies with flavor—your kitchen should smell like a spicy postcard.
Stir in the diced tomatoes, kidney beans, black beans, and broth. Bring to a gentle simmer.
Let it simmer for 20–25 minutes. This is your time to taste and adjust salt, pepper, and heat. If it needs more punch, add a pinch more chili powder.
Serve hot, with optional toppings if you’re feeling fancy. Leftovers taste even better the next day, so consider making a big batch.