Toss 1 head of cauliflower on a baking sheet with salt, pepper, the garlic and olive oil to coat. Roast at 400 degrees F for 20 minutes.
Boil the second head in water until soft and puree with an immersion blender until smooth.
Saute the onion in the 5 tablespoons olive oil until soft.
Layer the puree, roasted cauliflower, onions, cheese and cheese puffs in a casserole dish, repeating until full. Finish with an extra layer of cheese puffs and cheese.
Bake at 400 degrees F until the cheese melts and the cheese puffs are crunchy. Serve warm.