Bring a large pot of salted water to a boil, then cut a small cross on the bottom of each tomato. Place the tomatoes in the boiling water for 30-60 seconds, then remove them immediately and place in a bowl of ice water to cool briefly. The tomato skins should slide off easily.
Cut out the cores of the tomatoes and add the tomatoes to a blender. Blend on high speed for about 30 seconds, or until smooth.
Pull out the soft center of the baguette and tear it into small pieces. You should have 2-3 cups of bread pieces.
Add 2 cups of bread pieces to the blended tomatoes, then let the mixture stand for 5 minutes. (For a thicker texture, add all of the bread pieces.)
Add the vinegar, salt, and garlic and blend until the soup is very smooth.
Turn the blender to medium speed, then remove the small lid on the top and slowly trickle in the oil. If your blender doesn't have this small hole, simply stop the blender and add the oil gradually.
Add 1 hard-boiled egg and blend until incorporated. Adjust the levels of salt, vinegar, garlic, and bread to taste.
Chill the salmorejo until you're ready to serve it. Serve the soup cold in small bowls, then garnish with diced hard-boiled egg and sliced ham. Enjoy!