Bring a large pot of salted water to a boil. Add the fusilli and cook until al dente according to package instructions. Reserve ½ cup of the cooking water, then drain the pasta and set aside.
Set oven to 350°F. Lightly grease a 9×13-inch baking dish.
In a medium skillet over medium-high heat, warm the olive oil. Add the shallots and cook for 3 minutes, stirring occasionally, until softened and lightly caramelized.
To a food processor or high-speed blender, add the cooked shallots, tofu, sour cream, lemon juice, garlic powder, salt, and black pepper. Blend until smooth and creamy.
In a large bowl, add the cooked fusilli pasta. Pour the blended mixture over the pasta and toss well to coat. Stir in the reserved pasta-cooking water and spinach.
Transfer the pasta mixture into the prepared baking dish, spreading it evenly. Bake uncovered for 30 minutes, until the top is lightly crisp.
Allow to cool slightly, then serve warm or at room temperature.