In a 12-in. ovenproof frying pan over medium heat, cook shallots and thyme in 2 tbsp. butter with 1/4 tsp. each salt and pepper, stirring occasionally, until shallots are softened, 7 to 10 minutes. Transfer to a bowl and set aside.
Pour 1 cup water into frying pan (no need to wash). Add 1/4 tsp. each salt and pepper and the broccolini. Cover and bring to a boil over high heat. Reduce heat and simmer until broccolini is just tender, 7 to 10 minutes. Drain.
Meanwhile, whisk eggs in a large bowl to blend with milk and remaining 1/4 tsp. each salt and pepper. Stir in shallot mixture and half the cheese. Preheat broiler with a rack set 3 to 4 in. from heat.
Set same frying pan over medium heat. When hot, add remaining 1 tbsp. butter and swirl to melt and coat pan (including up the sides). Arrange broccolini evenly in pan, alternating stalks and tops. Pour egg mixture over it, distributing shallots and cheese but leaving some broccolini showing. Cook, tilting pan and using a spatula to lift up frittata's outer edge and let eggs run underneath, until eggs no longer flow easily, 4 minutes. Reduce heat to low and cover pan. Cook until frittata is almost set, 2 to 6 minutes.
Scatter remaining cheese over frittata. Broil until lightly browned, 1 to 3 minutes. Let cool at least 5 minutes. Loosen frittata from edges, then cut into wedges with a sharp knife.