Preheat oven to 350°F. Grease a 5 x 9 inch loaf pan. Line bottom of pan with parchment paper. Place pan on baking sheet.
In large mixing bowl, whisk cornmeal, flour, sugar, baking powder, baking soda, and salt. In another bowl, whisk together eggs, olive oil, and thyme, then slowly whisk in buttermilk until combined. Add wet to dry ingredients and mix until just combined. Gently fold in corn. Transfer batter to prepared pan and level out top with spatula or wooden spoon.
Bake in preheated oven until wooden skewer or toothpick inserted in centre comes out nearly clean, about 45 to 50 minutes. Transfer to wire cooling rack. Cool 15 minutes. If necessary, loosen sides with butter knife, then carefully turn out loaf.
To prepare tomatoes, in large skillet heat oil over medium. Add onion and heat until softened, about 5 minutes. Stir in garlic and heat 1 minute. Add tomatoes, salt, and red pepper flakes to skillet; heat until tomatoes are very soft and starting to break down. Stir in basil and heat 1 minute. Stir in balsamic vinegar.
Serve slices of warm cornbread with tomato sauce.