Preheat the oven to 425 degrees F.
Cut the cauliflower lengthwise into 3/4-inch slices.
On a sheet pan, toss the cauliflower and onions with 1 tablespoon olive oil, 1 teaspoon kosher salt and 1/2 teaspoon black pepper. Spread them into a single layer. (If the sheet pan seems crowded, transfer some of the cauliflower and onions to a second pan.)
Roast the cauliflower and onions for 20 minutes until they are browned on one side. Then flip them over and continue roasting for 5-10 minutes until browned on the other side. (Rotate the pans if you are using 2 baking sheets. If the onions are browning too much and the cauliflower is still roasting, use tongs to take them off the pan.)
Roughly chop the larger roasted cauliflower slices. You can leave the small to medium florets as is.
Place the lentils and 1 teaspoon salt in a medium saucepan and cover with water by 1 inch. Bring to a boil and then reduce to a low simmer with the lid partially on the saucepan. Cook for 15-20 minutes until the lentils are just tender. Taste them to check their doneness after 15 minutes. Once the lentils are ready, pour them into a strainer and rinse with cold water. Transfer the lentils to a large bowl.
For the vinaigrette, whisk the garlic, mustard, 1/4 teaspoon kosher salt, 1/4 teaspoon black pepper, lemon juice and 1/4 cup olive oil in a small bowl.
In a large bowl, combine the lentils, roasted cauliflower and onions, olives, pistachios and parsley.
Drizzle the vinaigrette into the salad, tossing to combine.