Heat olive oil in a large pot over medium heat; add the onions, carrots and celery to the pot. Cook for 5 minutes, stirring frequently.
Add the garlic, tomato paste, oregano, paprika and black pepper. Cook 1-2 minutes, stirring frequently.
Add the smoked ham shank, navy beans, chicken broth, water, and the bay leaf to the pot and stir. Raise heat to high, bring the liquid to a boil, lower heat to medium-low, cover and cook 60 minutes, stirring occasionally.
Remove the smoked ham shank from the pot and place on a cutting board. Cover the soup and continue cooking. When the smoked ham shank is cool enough to handle, remove the meat from the bones. Discard the bones and any fatty pieces. Chop the meat and return it to the pot.
Continue cooking the navy bean soup for another 15 minutes. Taste a couple of beans; if they’re tender, the soup is done. If the beans are still a little firm, cover and continue cooking. Check the beans every 15 minutes or so, until they reach the desired consistency.
Taste the navy bean soup and add salt if needed. As a reference, we added ¾ teaspoon to our soup.
Remove the bay leaf and discard.