Place cauliflower florets on a large baking sheet. Coat with two tablespoons olive oil and toss with a generous pinch of coarse salt and black pepper. Roast cauliflower for 20-25 minutes, until just tender. Remove from the oven.
In the meantime, heat remaining two tablespoons of olive oil in a Dutch oven or stock pot to medium heat. Add onion and saute 3-4 minutes, until soft. Add ground turkey or Italian sausage and break it up with a spatula, cooking until browned, about 4-5 minutes. Stir in garlic, basil, oregano and fennel. Add tomatoes, crushing with the spatula, and tomato paste. Bring to a simmer at medium-high heat and allow to cook 15-20 minutes. Stir in salt, pepper and sugar. Taste and adjust seasoning, if necessary. Stir in heavy cream. Optional: Use an immersion blender to puree, if desired.
Grease a glass or ceramic casserole dish. Layer half of the cauliflower, tomato cream sauce, mozzarella cheese, pepperoni and Parmesan cheese. Repeat with remaining cauliflower, tomato cream sauce, mozzarella cheese, pepperoni and Parmesan cheese.
Bake 18-20 minutes at 400 degrees, until cheese is bubbly and brown. Allow to cool for about 10 minutes. Serve with parsley, basil and red pepper flakes.