Sauté Aromatics: Heat olive oil in a large pot or Dutch oven over medium heat. Add onion and cook until softened, about 5 minutes. Add garlic and cook for another minute until fragrant.
Brown the Meat: Add ground beef or turkey to the pot and cook, breaking it up with a spoon, until browned. Drain any excess grease. (Skip this step if using a vegetarian substitute; add it with the beans and tomatoes).
Add Remaining Ingredients: Stir in kidney beans, diced tomatoes (undrained), beef broth, chili powder, cumin, smoked paprika, and cayenne pepper (if using). Bring to a simmer.
Add Pasta: Add elbow macaroni to the pot and stir to ensure it is submerged in the liquid. Bring back to a simmer, then reduce heat to low, cover, and cook according to package directions for the macaroni, stirring occasionally, until the pasta is al dente.
Add Cheese: Remove the pot from the heat. Stir in the shredded cheese until melted and smooth. Season with salt and pepper to taste.
Serve: Serve immediately, topped with chopped green onions, sour cream or Greek yogurt, and hot sauce (if desired).