Preheat the oven to 425 degrees F (220 degrees C). Line a baking sheet with parchment paper or a silicone baking mat and set aside.
Place the cauliflower florets in a large bowl. Drizzle with 3 tablespoons of olive oil and toss until evenly coated. Spread the florets on the prepared baking sheet in a single layer. Roast for 20–30 minutes, or until they are tender and slightly charred.
While the cauliflower roasts, heat the remaining 1 tablespoon of olive oil in a large pot over medium-high heat. Add the onion and garlic, cooking until the garlic is lightly browned. Transfer the cooked onion and garlic to a blender, leaving the oil in the pot for later use.
Add the silken tofu to the blender with the cooked onion and garlic. Blend until smooth, then set aside.
When the cauliflower is done roasting, transfer it to the pot. Reserve 2 cups of the roasted florets on a plate for topping. Add the water, bouillon cubes, Italian seasoning, salt, and pepper to the pot. Bring to a boil, cover, reduce the heat to low, and simmer for 10 minutes.
After simmering, turn off the heat and stir in the tofu mixture. Blend the soup in batches using a blender or directly in the pot with an immersion blender until smooth and creamy.
Stir in the lemon juice and taste. Adjust the seasoning with additional salt, pepper, or lemon juice as needed.
Ladle the soup into bowls and top each serving with a few of the reserved roasted cauliflower florets. Sprinkle with fresh parsley or green onions. For an extra touch, garnish with fresh thyme and a pinch of crushed red pepper flakes.
