In a blender, combine the onion, garlic, tomatoes, salt, and broth. Blend on high until the mixture is completely smooth and well combined. This will create a flavorful, tomato-based broth to add to the soup later.
In a large Dutch oven or heavy-bottomed stockpot, heat the oil over medium heat. Add the bacon and cook, stirring occasionally, for about 5 minutes, or until it’s slightly crisp and golden brown.
Increase the heat to medium-high. Add the diced potatoes to the pot and cook for 6-7 minutes, stirring occasionally, until they start to soften and develop a slight golden color.
Add the leeks to the pot, and cook for about 4 minutes, or until they become translucent and tender. Stir occasionally to make sure they cook evenly.
Place a strainer over the pot and pour the blended tomato mixture through it, straining it directly into the pot to remove any seeds or bits. Use a spoon to press down on the solids in the strainer, ensuring you get all the liquid and flavor.
Stir everything together, then bring the soup to a boil over medium-high heat. Once boiling, reduce the heat to low, cover with lid, and let the soup simmer for about 10 minutes, or until the potatoes are tender and fully cooked.
Taste the soup, and adjust the salt if needed.
Ladle the soup into bowls and finish with a squeeze of lime or lemon juice (optional) to brighten the flavors. Garnish with fresh cilantro and crumbled queso fresco for an extra layer of flavor and color. Enjoy your comforting, Mexican-style potato and leek soup!