Bring a large pot of water seasoned with salt to a boil. Add the spaghetti and cook according to the directions on the box until al dente. Before draining reserve a half cup of the cooking water.
Meanwhile, in a large saute pan, heat the olive oil over high heat. Add the shallot; cook until light golden brown, about 5 minutes. Add the garlic cook another minute to soften. Add mushrooms; cook until they release their liquid and it evaporates (about 8 to 10 minutes).
Add wine, tomatoes and chopped parsley. Season with salt and pepper to taste. Reduce heat to medium; cook until the consistency of a thick sauce, about 5 minutes.
Transfer the drained spaghetti to the skillet with the tomato sauce, toss until coated. If it seems too thick, add pasta water as needed to loosen and serve.