Heat olive oil in a large skillet over medium-high heat. Add onion and garlic and season with salt and black pepper, to taste. Cook, stirring occasionally, until the onion is soft and translucent, approximately 4-5 minutes.
Reduce heat to medium and add beans, ground cumin, chili powder, smoked paprika, and crushed red pepper flakes, if using. Cook, stirring occasionally, until the beans are heated through and start to break apart slightly, approximately 8-10 minutes.
Remove from heat and puree beans with an immersion blender or a potato masher until almost smooth. Serve topped with fresh cilantro, if desired. Enjoy!