In a 5- to 6-quart pan over high heat, bring 4 quarts water to a boil. Add penne and stir occasionally until tender to bite, 7 to 9 minutes. Drain and return to pan.
Meanwhile, pour oil into a 10- to 12-inch frying pan over medium-high heat; when hot, add onion, garlic, and mushrooms. Stir frequently until onion and mushrooms are limp, about 8 minutes. Add wine and cook until most of the liquid has evaporated, 1 to 2 minutes.
Add tomatoes and bring to a boil; reduce heat and simmer to blend flavors, about 10 minutes. Add salt and pepper to taste. Pour over hot pasta and mix to coat with sauce. Spoon into four wide, shallow bowls and top evenly with parsley and cheese.