Heat the oil in large saucepan over medium heat. Add the onion and sauté until tender, stirring occasionally. Add the garlic, and cook for 1 minute, stirring frequently. Add the broth, water, parsley, thyme, salt, pepper and bay leaves. If you happen to have a ham hock available to you, throw that in too. Bring to a boil. Cover and reduce heat; simmer for about an hour. If you're not simmering a ham hock, then cover, reduce heat and simmer for about 20 minutes.
Add the beans and simmer for an additional 10 minutes. Discard the bay leaves. Remove the ham hock (if using).
Place 1 cup of the bean mixture in a blender or food processor; process until smooth. Return the puréed bean mixture to the pan, add chopped ham and tomatoes and stir until blended. Simmer for about 5 minutes, until the ham is heated through, and then serve.
Notes
If you are preparing this recipe as gluten-free, just be sure to use brands of chicken broth, beans and ham that are known to be GF.