Put leeks in a bowl with enough water to cover completely. Soak until you're ready to cook them.
Heat a large pot over medium-high heat. Fry bacon in hot pot until crisp, 5 to 7 minutes. Remove bacon with a slotted spoon to a plate lined with paper towel to drain. Remove all but 2 tablespoons bacon drippings from the pot.
Drain leeks and shake vigorously to dry. Fry leeks and garlic in the reserved bacon drippings until translucent, 5 to 7 minutes. Stir potatoes with the leeks; add bay leaves. Pour the carton of chicken stock over the potatoes; bring to a simmer and cook until the potatoes are tender, 10 to 15 minutes. Season soup with salt and pepper.
Scoop about half the potatoes, leeks, and garlic into a food processor bowl with enough liquid to cover; process until pureed. Stir puree, bacon, spinach, and half-and-half into the soup; continue heating until again hot, 1 to 2 minutes. Add chicken broth from the can or half-and-half to achieve your desired consistency.