Bring a large pot of water to a boil. When it’s boiling add the pasta and cook for 9 to 10 minutes or until al dente. The pasta should be firm and have a slight bite to it because you’re going to bake it later. If you’re going to eat it immediately without baking then cook it for 10 to 11 minutes. Drain the water when done.
While you’re waiting for the water to boil dice the onion, mince the garlic, and slice the mushrooms.
Add the olive oil to a large skillet and heat on medium high heat. When the oil (if you use water instead of oil add it when the pan is hot, then add the onions and mushrooms immediately) is hot add the onions and mushrooms and spread them out evenly in the pan. Stir occasionally so the onions don’t turn brown. When the onions are translucent and the mushrooms have released their water and are beginning to shrink add the garlic and cook for three minutes. Stir well. Add the tomatoes, Italian seasoning, vinegar, salt, and pepper. Stir to combine and bring to a boil. Once boiling reduce to a simmer. Add a ½ of a cup of the pasta water and stir. This will add a little starch to the sauce and thicken it a bit.
Chop the spinach and basil and add to the sauce. Stir well and cook until the spinach and basil begin to wilt. Turn off the heat.
When the pasta is done, drain the water and add the pasta to the sauce and gently fold until the noodles are covered in the sauce. Cover and refrigerate for up to two days.
When you’re ready to eat it preheat the oven to 350° and add the vegan ricotta cheese. Bake covered for approximately thirty minutes or until hot in the center.
NOTE: If you plan to eat it immediately after cooking it you can add the vegan ricotta to the pan. You can also bake it for fifteen minutes to reduce some of the sauce so it will be similar to a casserole.