Brown the meat: Heat a large heavy pot or Dutch oven over medium-high. Add ground beef with a pinch of salt and pepper.
Cook, breaking it up, until browned and no longer pink, 5–7 minutes. If there’s excess fat, spoon off most, leaving about a tablespoon for flavor.
Sauté aromatics: Add diced onion and bell pepper. Cook until softened, 4–5 minutes.
Stir in garlic and cook 30 seconds until fragrant.
Bloom the spices: Add chili powder, cumin, smoked paprika, oregano, and another pinch of salt. Stir for 30–60 seconds so the spices toast lightly. This step deepens flavor.
Add tomato base: Stir in tomato paste and cook 1 minute.
Pour in crushed or diced tomatoes and broth, scraping up any browned bits from the bottom of the pot.
Beans and pasta: Add kidney beans, black beans, and macaroni. Stir well to make sure pasta is submerged. Bring to a steady simmer.
Simmer until tender: Reduce heat to medium-low.
Cover partially and cook, stirring every couple of minutes so pasta doesn’t stick, 10–12 minutes, or until pasta is al dente. If the mixture looks too thick before pasta is done, splash in more broth or water.
Cheesy finish: Turn off the heat. Stir in shredded cheddar and jack until melted and creamy.
Taste and adjust salt, pepper, and heat (add hot sauce if you like).
Rest and garnish: Let it sit 3–5 minutes to thicken slightly. Top with chopped cilantro, green onions, sour cream, or jalapeño slices if you want extra pop.