2 tablespoons extra-virgin olive oil
1 small onion, finely chopped (about 1 cup)
1 stalk celery, finely chopped (about 1/2 cup)
1 medium carrot, finely chopped (about 1/2 cup)
3 sprigs thyme, plus more for garnish
Coarse salt and freshly ground pepper
1 cup brown lentils, rinsed and drained
4 cups chicken broth
1/2 head cauliflower, cored, trimmed, and cut into small florets (about 3 cups)
3 ounces Gruyere and/or Parmesan cheese, shredded (1 cup)
Heat oil in a medium pot over medium-high heat. Add onion, celery, carrot, and thyme. Season with salt and pepper and cook, stirring occasionally, until vegetables are softened, about 8 minutes. Add lentils and broth; bring to a boil. Reduce heat, cover, and simmer until lentils are tender, about 30 minutes. Stir in cauliflower, increase heat to medium-high, and simmer just until cauliflower is crisp-tender, about 3 minutes. Remove thyme; season with salt and pepper.
Preheat broiler with rack 6 inches from heating element. Divide soup among 4 broilerproof ramekins or soup bowls. Top with cheese and broil until golden and bubbling, 3 to 4 minutes. Garnish with thyme and serve immediately.