Heat olive oil in a large pot over medium-high heat.: The scent of warmed olive oil should feel fruity and gentle as it shimmers, indicating the pan is ready. A properly heated pot gives immediate contact to the aromatics, encouraging even color development. You want a steady, medium high heat so that onions and peppers sizzle instead of steaming. A common mistake is overheating, which will make the oil smoke and create a bitter undertone. If you see smoke, reduce the heat and remove the pot from the burner briefly to cool.
Add onion and bell pepper and saute 5 minutes. Scoot mixture to one far side.: As the yellow onion and red bell pepper cook, listen for a gentle sizzling and watch for the onion to turn translucent with slightly softened edges. The peppers will begin to lose their raw crunch and release a sweet aroma. Pushing the mixture to one side creates space for the beef in the next step, helping to build brown fond where flavor concentrates. Avoid stirring constantly, or the vegetables will not develop those golden edges.
Crumble in beef in chunks, let sear about 3 minutes then break up and toss beef and peppers. Add in garlic and cook until beef is nearly cooked through, about 2 minutes.: When the ground beef hits the hot oil, you should hear a pronounced sear, and small browned bits will form on the pot bottom. Let it sit briefly to brown before breaking it up, because those browned bits add deep, savory notes to the sauce. Adding the garlic toward the end preserves its aromatics, which should smell toasty but not burned. Watch for any gray raw centers, and cook until no pink remains, avoiding overcooking which dries the beef.
Add chili powder, cumin, and smoked paprika and cook 1 minute.: These dry spices will bloom in the hot fat and release a warm, perfumed aroma that shifts the base from simple sauté to chili forward. The tiny sizzling and darker color in the spices signal that oils are releasing, which deepens complexity. Stir briskly to prevent the spices from sticking and burning; if they darken too quickly, lower the heat temporarily.
Pour in crushed tomatoes, chicken broth and green chilies. Stir in macaroni and kidney beans. Season with salt and pepper to taste.: Pouring the crushed tomatoes and chicken broth will deglaze the pot and lift those flavorful browned bits into the liquid. As you stir in elbow macaroni and dark red kidney beans , note that the pasta will release starch which thickens the sauce and helps it cling. Season lightly with salt and black pepper because you can always adjust at the end, but remember canned ingredients may bring sodium too. A common issue is adding too much salt early, so taste after the cheese is added for final adjustments.
Bring to a simmer then reduce heat to low. Cook uncovered, stirring occasionally, until pasta is tender, about 12 to 15 minutes.: As the pot comes to a simmer, you will see gentle bubbling and steam rising, and the scent will turn warmly tomatoey. Reducing to low keeps a gentle simmer that cooks the pasta through without boiling off the liquid too fast. Stir occasionally to prevent the pasta from settling and sticking to the pot bottom; hearing a faint bubbling but not furious boil is the correct cue. If the pasta seems undercooked with most liquid gone, add small amounts of the reserved broth and continue cooking.
Off heat stir in half and half and cheese. Thin with more chicken broth if desired. Serve with desired toppings.: Removing the pot from heat before adding the half and half and cheddar cheese ensures a silky finish, because dairy added to very high heat can separate and become greasy. As you fold the dairy and cheese in, the texture should turn glossy and cohesive, and a warm, creamy aroma will soften the spices. If the result is too thick, temper with extra chicken broth until you reach the desired sauciness. A frequent pitfall is overheating during this stage which can cause the cheese to clump, so stir gently and plate immediately for the best mouthfeel.