Place the olive oil in a large heavy-bottomed saucepan or Dutch oven over medium-high heat. Add the shallots and cook for 1 to 2 minutes, stirring so that they do not brown, until just barely translucent. Add the farro and toast it for 3 to 4 minutes until the colour deepens and it smells a bit nutty, stirring all the while so nothing burns. Add the salt, stir briefly, then add the warm stock and thyme. Stir to combine. Bring to a boil, cover and reduce the heat to low. Let simmer for 20 minutes, until the farro is just starting to get tender. Remove the lid and continue simmering, uncovered, for another 10 to 15 minutes. Turn off the heat. Add the mushrooms, tofu and spinach. Stir to combine. Cover and let sit for 5 minutes, until the mushrooms and tofu are warmed through and the spinach is wilted. Add salt and cracked black pepper to taste.