Heat the oil in a large skillet over medium heat. Add the onions and garlic and cook until very soft, but not brown, about 10 minutes. Add the beans and 1/4 cup reserved liquid from the can and season well with salt and pepper. Raise heat to medium-high and continue cooking until beans begin to break down, about 5 minutes. Cool slightly and transfer the mixture to a food processor and puree, drizzling in more reserved liquid, if needed, until it is the consistency of thick hummus. Taste and adjust seasoning.
Transfer to a wide, tall glass and drizzle with additional basil oil before serving.
To serve, stand the celery stalks upright in the dip. (Choose a container that's small enough with high sides to allow the celery to stand upright).