Bring a large pot of water to a boil, salt it generously and cook the pasta according to package direction until just al dente. Reserve 1 cup of pasta water before draining.
While the pasta cooks, heat the olive oil in a large skillet over medium heat and fry the onion and bell pepper for 5 minutes or until slightly browned.
Add the garlic and mushrooms and continue to cook for 5 minutes, stirring often, until the mushrooms are cooked through.
Add the ground beef to the skillet and cook for 5 minutes, breaking it up with the spoon as you go, until no longer pink and cooked through.
Stir in the chili powder, salt and pepper, then add the cream cheese and half a cup from the reserved pasta water. Stir well until you have a creamy sauce and the cheese is melted completely.
Add the grated cheddar and stir until incorporated. Next, add the cooked pasta to the pan and toss well to combine. Add some more pasta water if it looks too thick.
Adjust the seasoning to taste, then sprinkle with some fresh parsley and serve immediately.
