Begin by rinsing your soaked cannellini beans under cold water. Set them aside while you prepare the rest of your ingredients.
In a large pot, heat the olive oil over medium heat. Add the minced onion and cook until translucent, about 5 minutes. Stir in the chopped garlic and sauté for another minute until fragrant.
Add the sliced carrot and finely chopped celery to the pot. Stir and let them cook for about 5–7 minutes until they start to soften.
Add the soaked beans into the pot along with enough water to cover them by about an inch. Season with kosher salt and freshly ground pepper.
Bring to a gentle boil, then reduce the heat to low. Let it simmer uncovered for around 90 minutes or until the beans are tender.
Once the beans are tender, stir in lemon zest and juice just before serving. Adjust seasoning if needed.