NOTE: In most cases, I prefer a cast iron skillet, but this recipe will yield better results with a non-stick. Nonetheless, a cast iron will do the trick.
In a bowl, combine tomatoes, shallot, basil, olive oil, and salt to taste. Set aside.
Place the pan over medium heat. Once the pan is hot, add 1 generous tbsp of butter. If necessary, lower the heat to avoid burning. Swirl the butter around, allowing it to melt, and quickly add the first 4 pieces of bread. Using tongs, rub each piece into the butter allowing it to adequately soak in. Watch carefully and flip the bread once it begins to turn golden brown. If necessary, once flipped, add additional butter to ensure the second side is well-coated. When finished, remove each slice of bread, wipe the pan clean, and repeat with the second batch.
Clean the pan, and return it to medium heat. Once hot, add a small amount of oil to coat the base. If there is not enough room, do the cheese in two batches. Carefully add each slice of cheese to the hot pan. Because the cheese is stiff, you want to avoid allowing it to crack. As it heats on the pan, it will become more pliable. Watch closely and, using tongs, carefully flip the cheese once it begins to form golden brown spots, similar to a pancake. Repeat on second side.
Once the cheese is finished, removed from pan, and place over each slice of bread. Finish by topping with tomato mixture, and serve.
Enjoy!