Add the beans, water, bay leaves, and the whole chili pepper to a large pot. Bring everything to a gentle simmer, then lower the heat and let the beans cook slowly until tender, about 2 hours.
While the beans simmer, warm the olive oil in a skillet over medium heat. Add the onions and celery with a small pinch of salt and cook until soft and fragrant, about 6 minutes.
Stir in the tomato paste and let it cook for a few minutes, until it darkens slightly and develops a deeper flavor.
Scoop some of the bean cooking liquid into a bowl. Whisk in the garlic, coriander, black pepper, and salt until well combined, then pour this mixture back into the pot.
Mash about one third of the beans directly in the pot using a potato masher or the back of a spoon. Stir well, letting the broth turn thick and creamy.
Add the sautéed onion mixture to the beans and stir to combine. If the beans feel too thick, add a small splash of water to loosen them.
Let everything simmer gently for another 7 to 8 minutes, allowing the flavors to come together.
Turn off the heat and taste. Adjust salt and pepper if needed, then finish with chopped parsley just before serving.