Heat oven to 375 F.
Steam cauliflower in strainer over boiling water until tender, about 8 minutes. Drain well. Transfer cauliflower to a 9x13 baking dish.
Whisk milk, Neufchatel cheese, Dijon mustard, pepper, garlic powder and ¼ teaspoon salt in a small saucepan on low heat until smooth. Set aside.
Sauté onions with ¼ teaspoon salt in butter over medium-low heat for 10 minutes, stirring occasionally.
Add flour to onion mixture and cook for 5 minutes, stirring constantly.
Slowly whisk in the milk mixture and stir for an additional 3-4 minutes, until just simmering and creamy-thick. Add 1 ½ cups of cheese; whisk until melted, then remove from heat.
Top with remaining ½ cup cheese and bake until browned, hot and bubbly, about 20 minutes.