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, 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 oil in a 2-qt. saucepan over medium heat.
Add flour to oil. Whisk until smooth; cook 2 minutes.
Add paprika, salt, and pepper to flour/oil; cook 1 minute.
Whisk sour cream into flour/oil mixture.
Stir mixture into soup and cook until slightly thickened, 4–6 minutes more.
Serve garnished with paprika