Heat olive oil in a large soup pot or Dutch oven over medium heat.
Add the carrots, celery, and onion. Season with salt and pepper and sauté until the vegetables are tender, about 8-10 minutes.
Add the minced garlic and thyme. Cook, stirring, until the garlic is fragrant, about 1 minute.
Add the chicken broth, bay leaves, and black pepper. Bring to a boil, then reduce the heat to low and simmer 5-10 minutes to combine all the flavors.
Add the beans and ham; simmer for an additional 10-15 minutes or until warmed through.
Taste the soup and add 1/2 teaspoon salt if needed.