Preheat oven to 375°F and grease a 9x13-inch baking dish.
Bring a large pot of salted water to a boil. Add cauliflower and cook until just tender, about 5 minutes. Drain and set aside.
In a medium saucepan, melt butter over medium heat. Add garlic and cook for 1 minute until fragrant.
Whisk in flour and cook for 1-2 minutes, stirring constantly.
Gradually whisk in milk and continue cooking until mixture thickens, about 3-4 minutes.
Stir in sour cream, salt, pepper, paprika, and cayenne.
Remove from heat and stir in 1 1/2 cups of cheese until melted and smooth.
Add cauliflower to the prepared baking dish and pour cheese sauce evenly over the top. Sprinkle with remaining cheese.
Bake for 20-25 minutes, or until bubbly and golden on top.
Garnish with chopped green onions and serve warm.