- Melt half the lard or heat half the oil in a 6-qt. saucepan over medium-high heat.
- Add garlic, carrot, onion, parsnip, and celery; cook, stirring occasionally, until golden, 7–9 minutes.
- Add beans, bay leaves, ham hock, and 12 cups water; bring to a boil.
- Reduce heat to medium; cook, partially covered, until beans are very tender, about 2 hours.
- Transfer ham hock to a cutting board and let cool, then discard skin and bone.
- Shred meat and stir into soup. Heat remaining lard or oil in a 2-qt. saucepan over medium heat.
- Whisk in flour until smooth; cook 2 minutes. Whisk in paprika, salt, and pepper; cook 1 minute. Whisk in sour cream.
- Stir mixture into soup and cook until slightly thickened, 4–6 minutes more.
- Ladle soup into serving bowls; garnish with more paprika, if you like.