First, prepare the tofu. Press the tofu blocks between paper towels to remove as much moisture as possible. Then, using your hands, crumble into smaller pieces. Don’t worry about making them super small – you’ll crumble them further during the cooking process. Set crumbled tofu aside.
In a large skillet, heat olive oil over medium heat, then add in the onion, carrots, and celery. Saute for 10-15 minutes, until onions are translucent and vegetables are softened. Add in the garlic and saute for 1-2 minutes, until garlic is fragrant. Add salt and pepper to taste.
Add the crumbled tofu and Italian seasoning to the pan and raise the heat to medium-high. Cook for about 30 minutes, breaking up the tofu into smaller pieces with a wooden spoon or spatula, stirring every 3-5 minutes. The tofu will gradually turn golden brown – be patient, as it takes some time! The less you fuss with it (especially in the first few minutes), the better the tofu will brown.
After about 30 minutes, once the tofu is broken down into ground meat-size pieces and golden brown, add the tomato paste. Saute for 3 minutes, stirring constantly to get everything well-combined.
Then, add in the crushed tomatoes, bay leaves, red pepper, vegetable or chicken broth, and salt and pepper to taste. Simmer for 15-20 minutes.
Meanwhile, bring a large pot of salted water to a boil. Cook the pasta according to the package directions, until al dente. Reserve 1/2 cup of the cooking liquid, and drain pasta.
Add the pasta to the skillet with the sauce and toss to combine well, adding some of the cooking liquid if needed to achieve your desired consistency. Serve immediately, topped with vegetarian cheese and parsley, if desired.