Heat the oil in a pan over medium heat. Add the onions and saute until tender, about 5-6 minutes. Add the garlic, cumin and chilli powder and saute until fragrant, about 1 minute. Add the black beans, crushed tomatoes, tomatoes, dried oregano, salt and pepper and bring to a boil. Then reduce heat to medium-low and simmer until thickens, about 12 minutes, stirring occasionally. Remove from heat and stir in the cilantro. Taste and adjust seasonings.
Preheat oven to 360 degrees F. Place 2/3 of the mixture into a baking dish. Then carefully break the eggs on top of the mixture and spoon the remaining mixture around the eggs.
Place the baking dish on the middle rack of the preheated oven and bake until the eggs just start to set but still quite runny and wet looking, about 8-10 minutes. Remove the baking dish from the oven.
Turn the oven to broil. Sprinkle the top with cheese. Put the baking dish back to the oven and broil until cheese melts, about 1 minute. Serve hot with bread.