Warm the oil in a large pot over medium heat.
Brown the ground beef, breaking it up as it cooks, 4–6 minutes. Drain excess fat if needed.
Stir in the onion and cook until softened, about 3 minutes. Add garlic and cook 30 seconds.
Season with chili powder, cumin, smoked paprika, salt, pepper, and red pepper flakes. Toast spices 30 seconds.
Pour in tomato sauce, diced tomatoes, beans, broth, and Worcestershire. Mix in the dry macaroni.
Bring to a gentle boil, then reduce to a lively simmer. Cook uncovered, stirring often, 10–12 minutes until pasta is just tender.
Lower heat. Fold in cheddar and Monterey Jack until melted and creamy. Adjust salt and pepper.
Let stand 2 minutes to thicken. Sprinkle with green onions and serve hot.