Heat olive oil in a large Dutch oven or soup pot over medium high heat. Add onion and red pepper and sauté until tender, about 4 minutes. Add the garlic and tomato paste, cook for two 2 minutes.: The kitchen will begin to smell sweet and savory as the onion softens, and you should hear a gentle sizzle when the vegetables hit the oil, signaling proper temperature. As the red bell pepper releases moisture, the mixture will soften and the edges of the onion may turn translucent, which is the visual cue you want. When you add the garlic and tomato paste , the paste will darken slightly and become fragrant, releasing deeper, caramelized tomato notes. This step builds flavor by concentrating sugars and browning the aromatics, which is why it matters, rather than just tossing everything in cold. A common mistake is cooking at too high heat, which can burn the garlic quickly; keep the temperature steady so the aromatics sweat gently and the paste toasts briefly without charring.
Stir in vegetable broth, diced tomatoes, tomato sauce, red beans, black beans, chili powder and cumin. Season with salt and pepper, to taste.: When you add the liquids and canned tomatoes , you will see steam rise and the pot will go from thick paste to a glossy, bubbling sauce; this transformation releases the tomato brightness and allows the spices to bloom in the hot liquid. The aroma will shift, becoming more rounded with earthy notes from the beans and warm spice from the chili powder and cumin . Stirring until the mixture is homogeneous ensures even seasoning and prevents pockets of concentrated paste. I always taste for salt at this stage because salt helps the other flavors pop, and adjusting now saves you from a flat final dish. One pitfall is over spicing early; add moderate seasoning first, then adjust after the pasta cooks because reduction will intensify flavors.
Add the uncooked macaroni and stir to combine. Place a lid on the pot and turn the heat up to medium high and bring to a boil. Stir often to loosen the noodles from the bottom of the pan. When it reaches a boil, reduce to low and simmer until the pasta is cooked, about 12-15 minutes.: As you add the dry macaroni , you will notice the sauce thickening as the pasta absorbs liquid; the surface will show gentle movement and occasional bubbling as it approaches a boil. Stirring frequently is crucial so the macaroni does not stick to the bottom and scorch, and you will hear the difference between a lively boil and a gentle simmer. Once boiling, lower the heat so the pot maintains small, even bubbles; this ensures the pasta cooks uniformly without breaking down. The aroma will become richer and more concentrated, with a toasty edge as starches release. A typical issue is not using enough liquid for the pasta to hydrate; if the sauce seems too tight, add a splash of hot broth to prevent undercooked centers.
Remove from heat and remove the lid. Stir in 1/2 cup of the shredded cheddar cheese. Top with remaining 1/2 cup cheese and place the lid on until cheese is melted. Garnish with green onions, if desired. Serve immediately.: After removing the pot from heat, the steam will carry the scent of melted cheese and tomato; stirring in half the cheddar cheese creates a silky emulsion as it melts into the hot pasta, making the sauce glossy and cohesive. Piling the remaining cheese on top and replacing the lid traps residual heat, allowing the cheese to melt without overcooking. The final texture should be creamy and slightly stringy where the cheese stretches, while the beans remain intact, offering contrast. Finish with sliced green onions to add a fresh, slightly oniony crunch. Avoid waiting too long to serve, because the pasta will continue absorbing liquid and can become dry if left to sit uncovered.