Sauté onions and garlic. Heat a large dutch oven or pot over medium-low heat, add oil, and let it get hot. Add onions, salt, and pepper and sauté for 2-3 minutes, stirring occasionally, until softened and slightly browned. Then add garlic and saute for 1-2 minutes until fragrant.
Brown beef. Add beef to the pan, break it up with the back of a spoon, and saute for 2-3 minutes. Next, add chili powder, cumin, oregano, and a little salt and pepper, mix to combine, and saute for another 3-5 minutes until beef is browned.
Cook pasta. Add your peppers, mushrooms, pasta, enchilada sauce, and broth to the pan. Mix well to combine, making sure everything is evenly distributed. Push down the ingredients to make sure they are covered by the liquid. Put the lid on the pan and turn up the heat to medium. Cook for 13-15 minutes, allowing it to come to a boil, until pasta is almost al dente. Make sure to stir 1-2 times while it cooks so nothing gets stuck to the bottom. Remove the lid from the pan and let it simmer for 1-2 minutes until the pasta is al dente and most of the liquid is absorbed.
Top with cheese. Stir in half of the cheese. Top with the remaining cheese and let it melt.
Enjoy! Let cool for a few minutes (pasta will be VERY HOT). As it cools, it will thicken up even more. Serve with toppings of your choice and enjoy!