Peel and thinly slice the onion.
Add a few tablespoons of oil to large pot or Dutch oven over medium heat.
Once the oil is hot, add the sliced onion. Saute on low to medium for about one hour. Stir every 5 minutes or so. After 10 minutes, add the sugar and salt to help draw out the water and help caramelization. Add a little more oil gradually during the process, if necessary. After the onions have caramelized, remove them with a slotted spoon, and set aside.
Clean the mushrooms with a dry paper towel. Use the towel to gently scrub off any dirt. Slice thinly.
If necessary, add a little more oil to the pot. Let the oil heat up for another minute or 2, add the sliced mushrooms, and sauté until lightly browned, about 6-8 minutes. Remove the mushrooms with a slotted spoon, and set aside.
Add a little more oil if necessary and add the spinach and granulated garlic. Sauté the spinach, stirring frequently for about 2-4 minutes.
Add the enchilada sauce to the pot. Add the onion and mushroom back to the pot.
Bring the sauce up to a boil on medium high heat, and cook for 2-3 minutes, stirring frequently.
Turn to low, and cook the sauce for another 2-3 minutes. Remove the sauce from the heat, and set aside.
Preheat the oven to 175 degrees C.
To assemble the lasagna, add about ½ cup of the enchilada sauce to the bottom of a 9x13-inch glass pan. (For this bottom layer, I use only sauce, because it makes a flatter layer.)
To create lasagna sheets from the enchiladas, cut each one in half.
Cover the sauce layer with a layer of corn tortillas (each layer uses 4-5 small tortillas). You can overlap a little if you need to, but make sure the sauce layer is covered with the layer of tortillas.
After the tortilla layer, spread a layer of refried beans. If the beans are hard to spread, heat them up in the microwave at 30 second intervals until soft.
Sprinkle about 1/3 of the cheese on top.
Repeat the layers in the same order until you run out of beans. You should have 2-3 layers of each.
Follow up with one last layer of tortillas, then enchilada sauce, followed by cheese.
Sprinkle with a little dried parsley. Cover with aluminum foil, and bake at 175 degrees C for 35 minutes.
Turn the oven up to 200 degrees C, and uncover the lasagna.
Bake for a further 20-25 minutes, or until the top is brown and bubbly.
Remove from the oven and allow the lasagna to settle for 20-30 minutes before serving.
Meanwhile, thinly slice the scallions. Remove the seeds from the Roma tomatoes, and cut the tomato into a small dice.
Garnish the lasagna with the sliced scallions, Roma tomatoes, and sour cream. Serve hot.