Preheat oven to 450°.
Heat a large Dutch oven over medium-high heat. Add 1 1/2 teaspoons oil to pan; swirl to coat. Add the onion, thyme, and garlic; sauté for 5 minutes or until tender, stirring occasionally. Add the potatoes, chicken stock, 1/2 teaspoon salt, and bay leaf; bring to a boil. Cover, reduce heat, and simmer for about 30-35 minutes or until potatoes are very tender, stirring occasionally. Remove from heat; discard the bay leaf.
While the potatoes are simmering, combine the remaining 1 tablespoon olive oil, the cut up cauliflower florets, 1/4 teaspoon salt, and 1/4 teaspoon pepper on a jelly-roll pan covered with foil; toss to coat. Roast at 450° for about 25-30 minutes or until browned, turning once.
Place the finished cauliflower mixture and milk in a blender. Remove the center piece of blender lid (to allow steam to escape); secure blender lid on blender. Place a clean towel over opening (to avoid splatters). Blend until smooth. Set aside in a separate large bowl. Add half of the potato mixture to the blender; pulse 5 to 6 times or until coarsely chopped. Pour into the bowl with the cauliflower mixture. Repeat with remaining potato mixture (including the soup), leaving about a 1/2 cup or cup of the potatoes in tack if desired (if you like your potato soup a little on the chunkier side). Place cauliflower-potato mixture in Dutch oven over medium heat. Stir in remaining 1/4 teaspoon salt, remaining 1/2 teaspoon pepper, 1/2 cup green onions, and sour cream; stir until the sour cream melts. Ladle soup into bowls. Top evenly with remaining green onions, cheese, and any leftover roasted cauliflower bits if desired.