Wash beans and soak overnight in a large bowl covered with cold water. The next day, rinse and drain the beans. Set aside.
In a 3 quart (3 liter) pot, add ham hock, water, bay leaves and salt. Bring to a boil, then reduce heat to a simmer, cook for about 2 hours, partially covered, until the beans are very tender.
Transfer ham hock to a cutting board and allow to cool. Cut and shred the meat from the bone and discard skin and bone.
Roux: over medium heat, melt butter in medium fry pan or skillet, and sauté onion for 3 minutes, then add garlic and saute for another minute until the garlic releases it’s aroma, stir in flour to until smooth, and whisk in paprika, salt and pepper. Add 1-2 cups of the broth from the soup and whisk until combined. Bring soup to a slow boil, and then stir in the roux mixture into the soup, and cook for about 5 minutes, until slightly thickened.
In a small bowl, mix together sour cream and vinegar, and add a couple of ladles of the soup and whisk until well combined. Make sure the soup is not boiling, should be at a low simmer, then slowly whisk in the sour cream mixture into the soup until it is well combined. Add the ham meat to the soup, leaving a few for garnishing.
Garnish with sour cream, parsley and extra pieces of ham. Serve with crusty bread.