Heat the olive oil in a large pot over medium heat.
When the oil is hot, but not smoking, add the onions. Cook for 3 minutes until they start to soften, stir often.
Add the garlic, tomato paste, chili powder, cumin, and black pepper. Cook for 1 minute, stirring frequently.
Next, add the pinto beans and chicken broth to the pot. Raise the heat and bring the liquid to a boil (will take about 3-4 minutes).
Then, cover the pot, lower the heat to medium-low and cook the pinto bean soup for 10 minutes. Keep it at a simmer. Raise or lower the heat as needed.
Add the potatoes, raise the heat to high, and bring the liquid to a boil (will take about 2-3 minutes). Then, lower the heat to medium low, cover and simmer for 30 minutes until the beans and potatoes are very tender. They should break apart easily when pressed with a fork or spoon.
Mash or process the soup
Mash or process the pinto bean soup to thicken it, if desired. Take the pot off the heat and wait until the soup stops simmering. Use a masher or sturdy whisk to smash the potatoes and beans until the desired consistency is reached.
Alternatively, use an immersion blender. Leave it a little chunky or process until it is smooth depending on preference.
Taste and add salt if needed. As a reference we added a pinch to ours.