First, heat olive oil in a large pot or Dutch oven over medium-high heat. Add onion and leek until the vegetables begin to soften, which is about 10 minutes.
Then, add the carrots, celery, bay leaf, and bacon. Then lower the heat to medium. Cook for 10 minutes, stirring occasionally.
Next, add the stock, barley, and potatoes. Bring to a boil, then reduce heat to low to simmer. Simmer for 1 hour, uncovered, stirring occasionally.
After 1 hour, remove the bay leaf. Add salt and pepper to taste. Stir in the half and half. Allow the half and half to cook through for 1-2 minutes, without boiling. Then remove the pot from heat.
Ladle the soup into bowls. Garnish with parsley and serve!