In a large bowl, cover the wild rice with enough water to cover by 2" and let it soak for at least 6 hours or overnight. Drain and rinse. Set aside.
In another bowl, cover the walnuts with enough water to cover by 1". Cover the bowl and set aside at room temperature to soak for at least 1 hour or up to 12 hours. Drain the walnuts and rinse well. Transfer the walnuts to a blender and puree until very smooth, about 2 minutes. Set aside.
In a large saucepan over medium heat, heat the oil. Cook the carrots, celery, mushrooms, and onion for 6 minutes, or until softened. Stir in the garlic and cook for 1 minute. Add the broth, bay leaf, thyme, salt, black pepper, red-pepper flakes, and reserved rice. Bring to a rapid simmer, reduce heat, cover, and simmer for 30 minutes, or until the rice is tender. Remove and discard the bay leaf. Stir in the reserved walnuts, spinach, and lemon peel. Cook for 3 to 4 minutes, or until the spinach is wilted and the soup is heated through.