Heat the olive oil in a medium or large pan over medium heat, then add the onions. Stir and cook for about 5 minutes until they start to soften.
Add the garlic, chili powder, cumin, fresh herbs, and salt and pepper. Stir and cook for another 2 minutes.
Mix in the beans and water. Cover the pot and let them simmer for about 5 minutes to combine all the flavors.
Remove the lid and use a potato masher or fork to mash up about half of the beans. Stir and cook for 3-5 more minutes until it reaches your desired texture – I like them not too saucy but not too dry.
Add in the lime juice, taste for salt and pepper, and add a bit more water if needed. Serve hot and enjoy!