Add the beans, water, bay leaves, and whole chili pepper to a large pot. Bring to a gentle simmer, then reduce the heat and cook for about 2 hours, or until the beans are tender.
While the beans simmer, heat the olive oil in a skillet over medium heat. Add the onions and celery with a small pinch of salt and cook for about 6 minutes, until softened.
Stir in the tomato paste and cook for another 2 to 3 minutes, until it darkens slightly and develops a deeper flavor.
Scoop some of the hot bean cooking liquid into a bowl. Whisk in the garlic, ground coriander, black pepper, and salt, then pour the seasoned liquid back into the pot.
Mash about one-third of the beans directly in the pot with a potato masher or the back of a spoon. Stir until the cooking liquid becomes thick and creamy.
Add the sautéed onion, celery, and tomato paste mixture to the beans and stir well.
Simmer gently for another 7 to 8 minutes so the flavors come together. If the beans become too thick, add a small splash of water until the sauce is creamy and spoonable.
Turn off the heat, taste, and adjust the salt and black pepper if needed. Stir in chopped fresh parsley just before serving.