In a saucepan over a medium heat, melt the butter and add the onion, celery, garlic and potato. Cook and stir for 4 to 5 minutes until the onion is soft. Add the bacon and cook for 5 minutes. Sprinkle in the flour then gradually add the milk, stirring constantly until smooth. Add the remainder of the ingredients, except the parsley, and stir well. Simmer gently for 1 hour over a low to medium heat.
Serve hot in warmed bowls and garnish with fresh parsley.