Begin by cooking the penne pasta according to package instructions. Drain and set aside.
In a large skillet, heat the olive oil over medium heat. Add the diced onion and garlic, sautéing for about 2-3 minutes until softened.
Add the ground beef (or turkey) to the skillet, breaking it up with a wooden spoon. Cook until browned and no longer pink, about 6-8 minutes.
Stir in the black beans, enchilada sauce, chili powder, cumin, corn, and season with salt and pepper. Allow to simmer for about 5 minutes, letting the flavors meld.
Combine the cooked pasta with the meat and sauce mixture, stirring well until everything is evenly coated.
Sprinkle 1 cup of shredded cheddar cheese over the top and stir until melted and combined. (Optional: for a baked version, transfer the pasta mixture to a baking dish, top with remaining cheese, and broil for 2-3 minutes until bubbly.)
Remove from heat and serve hot, garnished with fresh cilantro and accompanied by salsa on the side.