In small skillet, heat oil over medium heat. Add butter and, once butter has melted, stir in shallots, sugar, and 1/4 tsp salt. Reduce heat to medium-low and cook shallots, stirring frequently, until very soft and golden brown, about 20 minutes. Stir in garlic during the last few minutes of cooking.
Preheat oven to 375 F.
Grease 8 x 8 inch square baking pan. Place tomatoes in dish in a single layer. Top with shallots.
In medium bowl, whisk together eggs and milk. Stir in flour, thyme, 1/4 tspsalt, and pepper until smooth and free of lumps. Gently stir in goat cheese. Slowly pour mixture over tomatoes, making sure tomatoes stay evenly distributed in pan.
Bake until puffy, darkened around edges, and barely set in center, about 30 minutes. Let cool for a few minutes. Slice into 4 squares and serve hot or at room temperature.
Recipe Notes
Per serving: 334 calories; 18 g protein; 19 g total fat (8 g sat. fat); 24 g total carbohydrates (7 g sugars, 2 g fiber); 503 mg sodium