Heat the olive oil in a small saucepan over medium heat. Add the chopped onion, garlic, and jalapeño and cook for about 8 to 10 minutes, stirring occasionally, until the vegetables are very soft but not browned.
Transfer the softened onion mixture to a food processor or blender. Add the drained black beans, cilantro, lime juice, cumin, chili powder, salt, and black pepper.
Blend the mixture until creamy and mostly smooth, stopping to scrape down the sides as needed. For a chunkier dip, pulse just until the ingredients are well combined.
Add water 1 tablespoon at a time and blend again until the dip reaches your preferred consistency. Avoid adding too much liquid at once, as the dip can quickly become too thin.
Taste the dip and adjust the lime juice, salt, cumin, or chili powder according to your preference.
Transfer the finished dip to a serving bowl and let it rest for about 10 minutes so the flavors can come together. It can be served warm, at room temperature, or chilled.
Garnish with fresh cilantro and diced tomato, then serve with tortilla chips, crackers, or fresh vegetables.