If using dried navy beans, rinse and soak them in water overnight. Drain before use. If using canned beans, simply drain and rinse them.
In a large pot or Dutch oven, heat the olive oil over medium heat. Add the diced onion, carrots, and celery. Sauté for about 5-7 minutes or until the vegetables start to soften.
Add the minced garlic and cook for an additional minute until fragrant.
Stir in the soaked (or canned) navy beans, broth, thyme, and bay leaf. Bring the mixture to a boil.
Once boiling, reduce the heat to low, cover the pot, and let the soup simmer for about 45 minutes (if using dried beans) or 20 minutes (if using canned beans) until the beans are tender.
Remove the bay leaf. If you desire a smoother texture, you can use an immersion blender to puree part of the soup. Otherwise, leave it chunky.
Season with salt, pepper, and vinegar (if using) to taste.
Serve hot, garnished with fresh parsley if desired.