Make the sauce by heating the oil in a small saucepan. Add the flour and chili powder and stir. Cook for 1 minute and add the remaining ingredients. Simmer for about 10 minutes until thickened.
Make the enchiladas by heating the olive oil in a large skillet. Add the onions and garlic and cook until soft. Stir in the spinach and continue cooking until wilted. Add the beans, salt, and half the cheese.
Heat the tortillas in the microwave or a dry skillet. Fill each one with the black bean mixture, roll up, and lay seam side down in a casserole dish. Add the remaining cheese over top and pour the sauce over the enchiladas.
Bake for 20-25 minutes, until cheese is melted and tortillas are soft. Serve with the sour cream.