Over medium heat, add celery, carrots, onion, and garlic to a large skillet greased with nonstick cooking spray. Saute for about 5 minutes, or until veggies are soft but not brown.
Cook pasta in salted water according to package directions. Reserve 1 cup of pasta water before you drain it. Set pasta aside.
While veggies cook, add crimini mushrooms to a food processor on high until finely chopped. You want them to look similar to ground meat. You may need to do this in two batches, depending on the size of your processor.
Raise skillet temp to medium-high and add chopped criminis to skillet. Cook until most of the water has evaporated.
While mixture cooks, chop up portabello mushrooms into 1-inch chunks. I like to make them a little bigger for added texture, but chop them how you like. Add to the skillet and saute with everything else for about 4 minutes, or until slightly softened.
Add in wine and all spices. Cook until all of the liquid has evaporated into the mushroom mixture, stirring constantly--about 5-8 minutes.
Once skillet is pretty dry again, add in tomato sauce, stock, and Worcestershire sauce. Simmer until reduced, about 10 minutes.
Finally, add in half and half. Cook down for 2-3 minutes, then take off heat. Add in pasta along with a few splashes of reserved pasta water at a time until you reach your desired consistency. I usually end up adding 1/2- 3/4 cup of the pasta water.
Taste, adjusting seasonings as needed.