Sauté the aromatics: Heat oil in a medium pot over medium. Add onion with a pinch of salt. Cook 5–7 minutes until translucent and golden at the edges. Stir in garlic for 30 seconds.
Toast the spices: Add tomato paste, smoked paprika, cumin, and oregano. Cook 1–2 minutes, stirring, until the tomato paste darkens and smells sweet. This step builds deep flavor.
Add beans and chipotle: Stir in the pinto beans, minced chipotle, and adobo sauce. Coat the beans in the spice mixture.
Simmer: Pour in broth and add the bay leaf. Bring to a gentle simmer, then lower heat. Cook uncovered 20–25 minutes, stirring occasionally, until the liquid reduces to a saucy consistency.
Season and balance: Remove the bay leaf. Stir in vinegar or lime juice and the brown sugar if using. Taste and adjust salt, pepper, and heat. Add more adobo sauce for extra smokiness and spice.
Optional mash: For creamier beans, lightly mash 1/2 cup of the beans against the pot wall and stir back in.
Finish and serve: Top with cilantro, green onions, and a squeeze of lime. Serve warm as a side, taco filling, or over rice.