Heat the oil in a large pot (we use a 6-quart Dutch oven) over medium heat. Add the ground beef and season with the chili powder, salt, garlic powder, cumin, black pepper, and cayenne pepper. Arrange the beef in a single layer and cook for 2–3 minutes. Stir and cook for another 1–3 minutes, breaking up any large pieces, until browned.
Still on medium heat, add the onions and cook for 2 minutes, stirring frequently.
Add the garlic and tomato paste and cook for 1 minute, stirring often.
Stir in the beef broth, tomato sauce, diced tomatoes, Worcestershire sauce, bay leaf, and dried chile peppers.
Raise the heat to high and bring to a boil, about 5–6 minutes. Lower the heat to medium-low, cover, and simmer for 15 minutes.
Add the red beans and stir. Cover and cook for 15 minutes, stirring occasionally. Keep the mixture at a simmer. Raise or lower the heat as needed.
Raise the heat to medium-high and bring the liquid to a boil. Add the macaroni while stirring. Lower the heat to medium and simmer uncovered for 15 minutes, adjusting the heat as needed. Stir often, especially in the beginning, to keep the macaroni from sticking to the bottom of the pot.
Turn off the heat, cover, and let it sit for 5 minutes, stirring 2–3 times.
Taste and add salt if needed. As a reference, we did not add extra to ours. Remove the bay leaf and dried chile peppers.
Serve with shredded cheese, sliced green onions, or your favorite toppings.