Preheat oven to 350°. In a large pot of boiling salted water, cook noodles, stirring occasionally, until 1 minute under al dente according to package directions. Reserve 1 cup pasta water; drain noodles. Add butter to noodles, toss to combine, and set aside.
Meanwhile, in a large heatproof skillet over medium heat, heat oil. Add beef and cook, breaking apart with a wooden spoon, until browned, 8 to 10 minutes; season with salt. Reduce heat to medium.
Add onions and garlic and cook, stirring, until onions are translucent, 4 to 5 minutes. Add tomato sauce, soup, cream, and one-third of cheese. Bring to a simmer and cook, adding ½ to 1 cup reserved pasta water, until cheese is melted and desired consistency is reached, about 1 minute; season with salt as desired. Pour noodles into skillet and mix with meat mixture. Pour into 13" x 9" baking dish and sprinkle with remaining cheese.
Bake casserole until center and edges are bubbly, about 30 minutes. Top with parsley.
