In a large frying pan, melt 1 tablespoon of the butter with 2 tablespoons of the olive oil over moderate heat. Add the onions, 1/2 teaspoon of the salt, and the sugar and cook, stirring frequently, until the onions are well browned, about 20 minutes. Remove from the pan.
In the same pan, melt the remaining 1 tablespoon butter with 1 tablespoon of the oil over moderate heat. Add the mushrooms and 1/4 teaspoon of the salt and cook, stirring occasionally, until tender and brown, about 8 minutes. Add the reserved onions, the parsley, the remaining 1/4 teaspoon salt, and the pepper.
In a large pot of boiling, salted water, cook the ziti until just done, about 13 minutes. Reserve 3/4 cup of the pasta water and drain. Toss the ziti and 1/2 cup of the reserved pasta water with the mushroom mixture, the remaining 1 tablespoon oil, the goat cheese, and the Parmesan. If the pasta seems dry, add more of the reserved pasta water. Serve with additional Parmesan. Servings: 4 Adapted from FoodandWine.com