Preheat oven to 200 degrees C. Grease a 12-hole muffin pan.
Heat a lightly oiled small frying pan over medium-high heat. Cook the bacon, stirring, for 5 minutes or until crisp. Add the shallot and cook, stirring for 1 minute. Drain on paper towel. Cool.
Place the flour in a large bowl. Stir in the combined butter, egg and milk until just combined. Add the tomato, cheese and bacon mixture. Mix gently to combine. Do not over-mix, the mixture should be lumpy.
Spoon mixture into prepared pan holes. Bake for 20-25 minutes or until cooked when tested with a skewer. Stand muffins in pan for 5 minutes before turning top-side up, onto a wire rack. Serve muffins warm or cold.