Pour olive oil into a large, deep skillet, over medium-high heat. Add in ground beef and brown, 5 minutes. Add in diced onions, and mushrooms (optional). Saute for 5 to 7 minutes until onions are soft and translucent, and ground beef is cooked through.
Add in garlic and tomato paste and toast for 2 minutes. Pour in crushed tomatoes and tomato sauce. Stir in basil, oregano, salt, and pepper and bring to a simmer. Reduce the heat to low and simmer until pasta is ready.
Cook pasta in boiling water, according to package directions. Preheat oven to 350 degrees Fahrenheit.
Prepare the cheese topping in a small mixing bowl by combining cream cheese, ricotta, and parmesan. Mix together until smooth.
Once the pasta is done, add it into the meat sauce and stir to combine. Pour it into a lightly greased 9x13 pan. Spread cheese mixture on top of the pasta.
Bake, uncovered, for 20 minutes until the cheese is melted and bubbly. Serve hot.